Ham and Bean Soup

This is what you do with a holiday ham bone – toss it in a pot with navy beans and let it simmer for a few hours. The ham bone breaks down and flavors the broth while the beans get creamy.

June Arthurs
March 17, 2026
jump to recipe

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

This is what you do with a holiday ham bone – toss it in a pot with navy beans and let it simmer for a few hours. The ham bone breaks down and flavors the broth while the beans get creamy.
prep time15 minutes
cook time2 hours
resting or cooling time8 hours
total time10 hours 15 minutes

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.

Notes

Quick soak method available if needed – boil beans 2 minutes, remove from heat, cover, and let sit 1 hour before draining.