Start by washing and chopping your vegetables. Dice the carrots, celery, onion, and garlic. If you’re using dried beans, soak them in water overnight, or opt for the quick-soak method by boiling them for 1-2 minutes, then letting them sit for an hour. Drain and rinse well.
Heat your large stockpot over medium heat. Drizzle the olive oil into the pot, then add onions, carrots, and celery. Cook for 5-7 minutes, stirring occasionally, until they soften and take on some color. Add minced garlic and sauté for another 1-2 minutes until fragrant.
Stir in the diced ham, beans (dried or canned), dried thyme, and bay leaf. These flavors will impart a delicious depth to your soup.
Add the chicken broth to the pot, and stir everything together. Turn the heat up to medium-high until the broth starts to boil, then reduce to low. Cover the pot and simmer for 1.5 to 2 hours if using dried beans. If you’re using canned beans, 30-40 minutes should suffice. Stir occasionally to prevent sticking.
Remove the bay leaf once the beans are tender and perfectly cooked. Taste your soup and adjust the salt and pepper according to your preference. If you want an extra smoky flavor, sprinkle in a pinch of smoked paprika or cayenne.
Ladle the soup into bowls, garnish with fresh parsley or a drizzle of olive oil, and serve with crusty bread or warm cornbread on the side.