Step 1: Prepare the Beans
If you're using dried navy beans, rinse them thoroughly. Soak them overnight in water, then drain. Cook them in fresh water for about 1 hour, or until tender.
If you’re using canned beans, simply drain and rinse them well to remove excess salt.
Step 2: Cook the Bacon (Optional)
If you’re adding bacon, chop the slices into small pieces and cook them in a large pot or Dutch oven over medium heat until crispy.
Remove the bacon and set it aside, but leave the rendered fat in the pot. If you're not using bacon, you can skip this step and use a little oil to sauté the onions and garlic in the next step.
Step 3: Sauté the Aromatics
In the same pot (with or without bacon fat), add the chopped onion and cook over medium heat for 3-4 minutes until soft and translucent.
Add the minced garlic and cook for another 30 seconds until fragrant.
Step 4: Build the Sauce
Stir in the ketchup, molasses, brown sugar, mustard, apple cider vinegar, smoked paprika, salt, and pepper. Mix everything together well.
Pour in the water or broth, and bring the mixture to a simmer.
Step 5: Combine Beans and Simmer
Add the prepared beans (either cooked from dried or canned) to the pot. Stir to coat the beans in the sauce.
Bring everything to a simmer, then reduce the heat to low. Let it cook gently for 1-2 hours, stirring occasionally. The beans should become thick and the sauce rich and sticky. If you want the sauce to be even thicker, let it cook a bit longer.
Step 6: Add Final Touches
If you cooked bacon earlier, stir it back into the beans for that savory kick. For extra flavor, you can add a splash of Worcestershire sauce or a little more brown sugar depending on your taste.
Taste and adjust seasoning as needed — add more salt, pepper, or molasses for sweetness.
Step 7: Serve and Enjoy!
Once the beans are tender and the sauce is thickened to your liking, remove from heat. Serve them hot as a side dish, or enjoy them as a main with a slice of bread or over rice.