In a Dutch oven or heavy bottom casserole, heat 3 tablespoons oil over medium-high heat. Add the beef, and begin to brown on all sides. After 2 to 3 minutes, add the ground meat, sprinkle with salt and pepper, and let it brown along with the cubed meat for another 5 to 6 minutes. The juices of the ground meat should have come out and then dry out. Stir as the meat browns.
Make room in the center of the pan, add the extra tablespoon of oil and add the onions and peppers, cook for 5 more minutes or until they begin to soften. Make some room in the casserole again, add the garlic, red pepper flakes, cayenne, paprika, chili powder, chipotle sauce, cumin, oregano, stir well.
Add the crushed tomatoes, tomato paste, sugar and vinegar, mix well and cook for 3 to 4 minutes stirring a couple times. The tomato paste should have dissolved and the sauce thickened a bit. Pour in the beef stock and once it comes to a strong simmer, reduce heat to medium. Add the beans and stir. Lower the heat to medium-low, it should have a low steady simmer, and cook uncovered for an hour, stir every once in awhile.
Serve the chili in bowls and let your guests garnish with sour cream, cilantro, shredded cheddar cheese, tortilla chips and green onions.