Sauté the vegetables: In a large pot, heat olive oil over medium heat. Add diced onions, carrots, and celery. Sauté for about 5-7 minutes, until the vegetables soften and the onions are translucent.
Add garlic and ham: Stir in the minced garlic and diced ham. Sauté for another 1-2 minutes to let the garlic become fragrant.
Add beans and stock: Add the beans, chicken broth, bay leaf, parsley, pepper (and cayenne and/or smoked paprika, if using) to the pot. Stir well to combine.
Simmer: Bring the soup to a gentle boil, then reduce the heat to low. Cover and let the soup simmer for about 30-40 minutes if using canned beans. Stir occasionally.
Season and finish: Once the beans are tender, remove the bay leaf. Season the soup with more salt to taste.
If using ham bones or hocks, remove them from the soup, shred the meat, and return it to the pot.
Serve: Ladle the soup into bowls and garnish with fresh parsley or green onions for a burst of color and freshness.
Video
Notes
How to Make Ham and Bean Soup Using Dried Beans:
Use 1 cup dried navy beans. Soak them first overnight in cold water, or use the quick soak method (boil for 1 minute, cover, let them sit for 1 hour, then drain and cook).
Add the drained, soaked beans to the soup with the broth.
Increase the broth quantity to 8 cups (they'll absorb a lot).Cover and simmer soup for 1 1/2 to 2 hours. Stir occasionally, checking the beans for tenderness.
When using dried beans (OR unsalted canned beans) you'll want another 1 to 1-1/2 tsp kosher salt.TIPS + TRICKS:
Umami Boost: For an extra punch of rich savory flavor, stir in 1-2 tsp of soy sauce.
Smoky Flavor: Want a smokier taste? Add 1/2 tsp of smoked paprika. I love a pinch of cayenne, too.
Ham Bone Tip: If you have a ham bone, simmer it in the soup to release collagen. This thickens the broth and creates a silky, rich texture.
Make-Ahead: Soup tastes even better the next day as the flavors have more time to blend. Store it overnight for the best results!