1 lb dry small white beans, such as cannellini or navy beans (or 3 15-ounce cans of white beans)
2 whole cloves
1 onion, peeled and halved lengthwise
2 garlic cloves, peeled and smashed
1 bay leaf
1 teaspoon salt
1/4 cup ketchup
1/4 cup molasses
3 Tbsp apple cider vinegar
1 1/2 teaspoons dry mustard powder
1/4 teaspoon Tabasco sauce (or cayenne pepper if you don’t have Tabasco)
1/4 teaspoon freshly ground black pepper
1 slice raw thick-cut bacon
5 slices cooked thick-cut bacon, chopped
1/4 red onion, finely chopped
If you are using canned beans, put beans in a large pot and skip to step 4. Put dry beans in a large pot. Cover with water by 2 inches and refrigerate overnight. Alternatively, bring beans to a boil, remove from heat and let cool for an hour.
Drain the beans and rinse them. Add them to a large pot. Cover with 1 inch of water. Insert cloves into onion halves (so they can be easily found and discarded later), add to pot. Add garlic and bay leaf. Heat to a simmer and let cook for 1 to 2 hours, until beans are just tender. (Older beans will take longer to cook). Add boiling water to beans if they begin to look dry while cooking.
Remove onion, cloves, and bay leaf. Add 1 teaspoon of salt.
In a separate bowl, mix together the ketchup, molasses, vinegar, mustard powder, Tabasco sauce, and pepper. Add mixture to beans and stir to combine. Add one slice of raw bacon to the mix. Bring the beans to a simmer. Simmer over low heat for 30-40 minutes until thick. Remove bacon slice (if desired). Add more salt to taste.
Serve hot, topped with chopped red onions and cooked bacon.