I always start by getting everything chopped and ready to go. Dicing the carrots, celery, and onion saves time once the cooking starts. If I’m using dried beans, I soak them overnight or do a quick soak by boiling for two minutes and letting them sit for an hour. Canned beans? Just rinse them well to remove the extra salt.
I heat olive oil in a large pot over medium heat. Then I toss in the onions, carrots, and celery, and let them cook for about 5–7 minutes until soft and slightly golden. After that, I stir in the garlic and let it cook for just a minute—it smells amazing at this point!
Next, I add in the diced ham, soaked beans, thyme, and bay leaf. These ingredients start to blend right away, and the aroma tells me I’m on the right track. This step lays the foundation for that deep, savory flavor.
I pour in the chicken broth and give everything a good stir. I bring it to a boil, then reduce the heat to low and let it simmer. With dried beans, I let it go for 1.5 to 2 hours. For canned beans, 30–40 minutes works just fine. I stir occasionally to keep things from sticking.
Once the beans are tender, I fish out the bay leaf and do a taste test. Usually, I’ll add a pinch more salt or some cracked black pepper. If I want to give it an extra smoky note, I’ll toss in a bit of smoked paprika or a dash of cayenne.
Once it's done, I ladle the soup into bowls and sometimes top it with chopped parsley or an extra drizzle of olive oil. It’s even better with crusty bread or warm cornbread on the side.