Ingredients (~6-8 servings)
- 1 1/2 lbs dried navy beans, sorted and soaked
- 3 Tbsp olive oil
- 2 Tbsp unsalted butter
- 3 cups chopped yellow onions (~2 large onions)
- 1 1/2 cups diced carrots, 1/4″ dice (~3 medium carrots)
- 1 1/2 cups diced celery, 1/4″ dice (~4 stalks)
- 5 garlic cloves, minced (~1 Tbsp)
- 1 Tbsp chopped fresh thyme, divided
- 1 1/2 tsp chopped fresh rosemary
- 1/2 tsp sweet or smoked paprika
- 1 meaty ham bone
- 3 small dried bay leaves
- 9 cups low sodium chicken broth, plus more if needed
- 3 cups water, plus more for soaking beans
- 2 to 3 cups diced or shredded cooked ham
- Kosher salt and black pepper to taste
Optional stuff for serving: fresh parsley or thyme, crusty bread, lemon wedges, grated Parmigiano Reggiano, extra virgin olive oil
Soak the Navy Beans
Sort through the 1 1/2 lbs of dried navy beans and remove any debris or stones.
Put the beans in a large bowl and cover with water by ~2-3 inches; let sit for 8 hours or overnight.
Drain and rinse before using.
If you don’t have time to soak overnight, use the quick soak method – cover beans with water, bring to a boil for 2 minutes, then remove from heat and let sit covered for 1 hour before draining.
Cook the Aromatics
Heat the 3 Tbsp olive oil and 2 Tbsp butter in a large, heavy-bottomed pot or Dutch oven over medium heat.
Add the 3 cups onions, 1 1/2 cups carrots, and 1 1/2 cups celery.
Cook until the vegetables start to soften, ~8-10 minutes – you’re looking for the onions to turn translucent and the celery to lose its raw crunch.
Stir in the minced garlic, 1 1/2 tsp rosemary, 1 1/2 tsp of the thyme, 3/4 tsp black pepper, and 1/2 tsp paprika.
Cook until fragrant, ~1 minute – the garlic smell will hit you when it’s ready.
Add Everything and Simmer
Add the soaked and drained beans, ham bone, 3 bay leaves, 9 cups chicken broth, and 3 cups water to the pot.
The liquid should cover the beans by about an inch; if not, add a bit more broth or water.
Bring to a boil over high heat, then reduce to a gentle simmer – you want small bubbles breaking the surface, not a rolling boil.
Partially cover the pot and cook for 90 minutes to 2 hours, stirring every 20-30 minutes.
The beans are done when you can easily smash one between your fingers.
If the soup gets too thick during cooking, add broth or water 1 cup at a time.
Pull the Ham Bone and Add the Ham
About 15 minutes before the beans are done, carefully remove the ham bone from the pot – it’ll be hot and falling apart.
Once it’s cool enough to handle, pull off any meat still clinging to the bone and chop it up; add this back to the soup along with the 2 to 3 cups diced or shredded ham.
I use 3 cups because I like a meaty soup but if you want it more bean-forward, stick with 2 cups.
Discard the bone and continue simmering until the ham is warmed through, ~10-15 minutes.
Season and Adjust Consistency
Fish out and discard the 3 bay leaves.
Stir in the remaining 1 1/2 tsp thyme.
Taste and add salt and more black pepper as needed – start with 1 tsp salt and go from there since the ham and broth already have salt.
For a thicker, creamier soup, use a potato masher or the back of a spoon to mash about 1/4 of the beans directly in the pot; this releases their starch and thickens everything up.
For a brothier soup, add more chicken broth 1/2 cup at a time until you hit the consistency you want.
Serve
Ladle into bowls.
I like finishing each bowl with a squeeze of lemon juice – it brightens everything up and cuts through the richness.
Fresh parsley or thyme, grated Parmesan, or a drizzle of good olive oil all work great too.
Crusty bread on the side is non-negotiable.
Ham and Bean Soup
Ingredients
Ingredients (~6-8 servings)
- 1 1/2 lbs dried navy beans, sorted and soaked
- 3 Tbsp olive oil
- 2 Tbsp unsalted butter
- 3 cups chopped yellow onions, ~2 large onions
- 1 1/2 cups diced carrots, ~3 medium carrots, 1/4″ dice
- 1 1/2 cups diced celery, ~4 stalks, 1/4″ dice
- 5 garlic cloves, ~1 Tbsp, minced
- 1 Tbsp chopped fresh thyme, divided
- 1 1/2 tsp chopped fresh rosemary
- 1/2 tsp sweet or smoked paprika
- 1 meaty ham bone
- 3 small dried bay leaves
- 9 cups low sodium chicken broth, plus more if needed
- 3 cups water, plus more for soaking beans
- 2 to 3 cups diced or shredded cooked ham
- Kosher salt and black pepper to taste
Instructions
- Sort beans and remove debris.
- Place beans in a large bowl and cover with water by 2-3 inches; soak 8 hours or overnight.
- Drain and rinse beans before using.
- Heat olive oil and butter in a large pot over medium heat.
- Add onions, carrots, and celery; cook 8-10 minutes until onions turn translucent.
- Stir in garlic, rosemary, 1 1/2 tsp thyme, black pepper, and paprika; cook 1 minute until fragrant.
- Add drained beans, ham bone, bay leaves, chicken broth, and water to the pot.
- Bring to a boil over high heat, then reduce to a gentle simmer.
- Partially cover and cook 90 minutes to 2 hours, stirring every 20-30 minutes, until beans are tender.
- Remove ham bone about 15 minutes before beans finish cooking.
- Once cool enough to handle, pull off any meat from the bone and chop it; add back to pot with diced or shredded ham.
- Discard the bone and simmer 10-15 minutes until ham is warmed through.
- Remove and discard bay leaves.
- Stir in remaining 1 1/2 tsp thyme.
- Taste and season with salt and pepper as needed.
- For thicker soup, mash about 1/4 of the beans in the pot; for brothier soup, add more broth 1/2 cup at a time.
- Ladle into bowls and serve with lemon wedges, fresh herbs, Parmesan, olive oil, and crusty bread.


