Preheat your oven to 350°F. In a large oven-safe skillet or pot, cook the chopped bacon over medium heat until crispy, about 8 minutes. Remove half the bacon and set aside for topping.
Add the diced onion to the remaining bacon and drippings, cooking until softened, about 5 minutes.
In a large bowl, whisk together the ketchup, brown sugar, molasses, mustard, apple cider vinegar, Worcestershire sauce, garlic powder, and black pepper until well combined.
Add the drained beans to the skillet with the bacon and onions, then pour the sauce mixture over top. Stir everything together until the beans are evenly coated.
Top with the reserved crispy bacon pieces and transfer to the preheated oven.
Bake uncovered for 55-60 minutes, stirring once halfway through, until the sauce is thick and bubbly and the top is slightly caramelized. Let rest for 5 minutes before serving.