Cook the Bacon: Preheat your oven to 350°F. In a large Dutch oven or oven-safe pot over medium heat, cook the diced bacon until crispy, about 7-9 minutes. Use a slotted spoon to transfer the bacon to a paper towel-lined plate, leaving about 1 tablespoon of bacon grease in the pot.
Brown the Beef: Increase heat to medium-high and add the ground beef to the bacon drippings. Season generously with salt and pepper. Cook, breaking up the meat with a spatula, until browned and no longer pink, about 6-8 minutes. Drain excess grease if needed. Add the chili powder and smoked paprika, stirring for 30 seconds until fragrant. Transfer the beef to the plate with the bacon.
Sauté the Vegetables: Reduce heat to medium and add the diced onion and bell pepper to the pot along with a pinch of salt and pepper. Sauté, stirring occasionally, until the vegetables are tender and lightly golden, about 5-7 minutes. Add the minced garlic and cook for 1 minute more, stirring frequently to prevent burning.
Combine Everything: Return the cooked bacon and ground beef to the pot. Add all four cans of beans (make sure to drain and rinse the pinto, kidney, and black beans, but keep the sauce from the baked beans). Stir everything together to combine.
Make the Sauce: In a medium bowl, whisk together the barbecue sauce, ketchup, brown sugar, yellow mustard, apple cider vinegar, Worcestershire sauce, and cayenne pepper (if using) until smooth. Pour the sauce mixture over the beans and meat, stirring well to ensure everything is evenly coated.
Bake: Cover the Dutch oven with a lid or aluminum foil and transfer to the preheated oven. Bake for 45-60 minutes, until the beans are hot, bubbly, and the sauce has thickened to your desired consistency. Stir once halfway through baking.
Finish & Serve: Remove from the oven and let rest for 5 minutes before serving. The beans will continue to thicken as they cool slightly. Serve hot alongside cornbread, coleslaw, potato salad, or your favorite barbecue mains. Garnish with fresh chopped cilantro or green onions if desired.