Before you plan to make the soup: place the beans in a large bowl. Pick them over to remove any debris. Cover with cool water by at least 1 inch. Let stand overnight at room temperature or in the refrigerator.
In a large pot or Dutch oven over low heat, cook the bacon over medium low, stirring it occasionally until the fat has rendered and the bacon is crisp, about 8 minutes (be patient; low and slow is the name of the game here!). With a slotted spoon, remove the bacon to a plate and set aside, leaving the drippings in the pot. If using olive oil instead, simply warm the oil in the pot.
Add the beans, ham bone (if using), bay leaf, and liquid. If you are NOT using a ham bone, use the broth for the liquid; if you ARE using a ham bone, use 6 cups of water *or* unsalted chicken broth. (If you use regular or even low sodium broth along with a ham bone, your soup may be too salty).
Increase the heat and bring the soup to a boil. Once it is boiling, reduce heat to medium low. Place a lid on the pot, leaving it slightly ajar. Let the soup simmer, stirring it occasionally, until the beans are tender and beginning to break down, about 75 minutes.
Stir in the tomatoes, paprika, chili powder, cumin, thyme, and black pepper. Simmer the soup, uncovered, for an additional 20 minutes to allow the flavors to marry. If the soup becomes thicker than you would like, add water to reach your desired consistency. Remove the bay leaf and ham bone (if using). Stir in the vinegar and reserved bacon.
Did you try this recipe? I want to see! Follow Well Plated on Instagram, snap a photo, and tag it #wellplated. I love to know what you are making!
15 Bean Soup https://www.wellplated.com/15-bean-soup/