Classic Navy Bean Soup with Smoked Ham
Navy bean soup with a smoky ham bone simmers low on the stove while you go about your evening, filling the kitchen with a smell that makes everyone ask what’s for dinner.

The beans turn buttery, the broth thickens, and the ham shreds into tender bits. It’s a one-pot meal that tastes like it took all day, but the work from you is minimal.
What Makes This Soup So Good
The broth gets its deep, smoky flavor from a meaty ham bone that slowly releases its richness into the pot. By the time you pull the bone out, the meat has softened to the point of falling apart, and the beans have gone from hard little pellets to creamy, velvety bites.
I rely on this recipe all winter because it’s forgiving. If the beans take a little longer to soften, no problem. If you want to add a parmesan rind or a dash of hot sauce, it welcomes the tweak.
Ingredients

- 1 lb dried navy beans: soaked overnight or quick-soaked (see Notes)
- 2 tbsp olive oil: for sautéing
- 1 large yellow onion, diced
- 3 medium carrots, diced
- 3 celery ribs, diced
- 4 cloves garlic, minced
- 1 smoked ham bone (about 1 lb): or 2 smoked ham hocks, or 1 cup diced smoked ham plus 1 tsp liquid smoke
- 8 cups low-sodium chicken broth: or vegetable broth
- 2 bay leaves
- 1 tsp dried thyme
- 1 tsp smoked paprika: optional, for extra smokiness
- Salt and black pepper: to taste
Variations and Substitutions
- Make It Vegetarian: skip the ham bone and use vegetable broth. Add 1 tsp liquid smoke for that smoky depth, and a parmesan rind if you’re not strictly vegan.
- No Ham Bone?: use 1 cup diced smoked ham and a splash of liquid smoke. You’ll get all the flavor without needing a bone.
- Bean Swap: Great Northern beans or cannellini work beautifully here. They’ll break down a bit more, making the soup thicker.
- Herb Swap: fresh thyme sprigs in place of dried, or a pinch of rosemary if that’s what you have.
- Spice It Up: a pinch of red pepper flakes or a few dashes of hot sauce stirred in at the end.
If you like this, you’ll probably enjoy our Smoky Split Pea Soup.
How to Make Classic Navy Bean Soup
Step 1: Soak the Navy Beans

Rinse 1 lb dried navy beans in a colander and pick out any small stones. Cover them with a few inches of cold water and let them soak overnight, or use the quicker method: bring the beans and water to a boil, boil 2 minutes, then remove from heat, cover, and let stand for 1 hour. Drain well before cooking.
Beans swell during soaking and their skins may look slightly puckered, which is exactly what you want. They should have doubled in size and feel firm but not rock hard.
This step matters because properly soaked beans cook evenly and shed less starch into the broth, keeping the soup clear and the beans intact.
Step 2: Sauté the Vegetables

Heat 2 tbsp olive oil in a large Dutch oven or heavy pot over medium heat. Add the diced onion, carrots, and celery and cook, stirring occasionally, for 8 to 10 minutes until the vegetables soften.
The onions will turn translucent and the edges might take on a faint golden color, which adds a subtle sweetness to the base. The carrots and celery will release their aroma into the oil.
If you’re using a ham bone with a visible layer of fat, you can slice off a little and render it in the pot first for an even deeper, smokier backbone.
Step 3: Stir in the Beans and Ham

Stir in the minced garlic and cook just until fragrant, about 30 seconds. Add the drained beans, the ham bone (or ham hocks), 8 cups of broth, the 2 bay leaves, 1 tsp dried thyme, and the smoked paprika if using. Give everything a good stir and bring to a boil.
The broth should just cover the beans. If they poke out above the liquid, add a splash of water so they stay submerged through the long simmer.
Hold off on the salt right now. The ham bone releases its own salt as it cooks, and adding more early can push the soup past the point of too salty before you can adjust.
Step 4: Simmer the Soup

Once the pot reaches a boil, reduce the heat to low so the liquid barely bubbles. Cover partially and let it simmer gently for 1 1/2 to 2 hours, stirring every so often so nothing sticks to the bottom.
You’ll know the beans are done when a spoon cuts through one easily and the inside is creamy but the skin still holds its shape. The broth will have thickened from the starch and taken on a smoky, meaty scent.
Keep the simmer lazy. A hard boil can bash the beans into mush, while a steady, low heat coaxes them into tender beans that stay together. If the soup looks too thick before they’re done, add a little more broth or water.
Step 5: Shred the Ham and Ladle

Remove the ham bone to a cutting board and let it cool until you can handle it. Pick off the meat, shred it with two forks, and stir the shredded ham back into the pot. Taste the soup, then season with salt and plenty of black pepper. Discard the bay leaves.
A quick sprinkle of chopped fresh parsley or a drizzle of good olive oil on top gives each bowl a fresh finish that balances the rich, smoky broth.
Ladle into deep bowls and serve straight away with something sturdy for dunking. The soup is at its best right now, hot and fragrant with tender beans and shreds of ham throughout.
Tips for the Best Bean Soup
- Save the salt: wait until the beans are fully tender before salting the pot, or the skins can turn tough.
- For a thicker soup, scoop out a cup of beans and broth, purée them, and stir back in. This adds body without flour or cream.
- If the soup tastes flat, a splash of apple cider vinegar or lemon juice right at the end brightens everything up.
- A leftover parmesan rind simmered in the pot is a cheap way to add a savory depth that pairs beautifully with the ham.
- Don’t toss the ham bone after one use; freeze it and you’ve got the start of your next pot of beans or lentils.
Simmer time can shift based on how your beans were soaked.
| Soaking Method | Approximate Simmer Time |
|---|---|
| Overnight soak | 1 1/2 to 2 hours |
| Quick-soak | 2 to 2 1/2 hours |
Storing Leftovers
- Refrigerate: store the soup in an airtight container for up to 4 days. The flavors often deepen overnight.
- Freeze: freeze in a freezer-safe container for up to 3 months. Thaw overnight in the fridge before reheating.
- Reheat: warm gently on the stovetop over medium-low heat, adding a splash of water if it has thickened too much.
What to Serve with Navy Bean Soup
A slice of crusty bread or a warm buttermilk biscuit is almost mandatory for sopping up the broth. A simple green salad with a sharp vinaigrette cuts through the richness, and skillet cornbread with honey butter turns the soup into a full-on meal.
Frequently Asked Questions
Can I use canned navy beans instead?
Yes, but the cooking time drops. Drain and rinse 4 (15-oz) cans, stir them in with the broth, and simmer just 20 to 30 minutes until heated through. The texture will be softer.
How do I make this in a slow cooker?
Sauté the vegetables first, then transfer everything to the slow cooker. Cook on low for 6 to 8 hours or on high for 3 to 4 hours. Remove and shred the ham bone at the end.
Why are my beans still hard after simmering for two hours?
Old dried beans or adding acidic ingredients like vinegar too early can slow down softening. Keep simmering and check every 15 minutes; they should eventually yield. Avoid salting until they’re near done.
Can I add other vegetables?
Absolutely. Diced potatoes, parsnips, or even a handful of baby spinach stirred in during the last few minutes work beautifully.

Classic Navy Bean Soup Recipe
Ingredients
Method
- Soak the beans overnight or quick-soak. Drain well.
- In a large Dutch oven, heat the olive oil over medium heat. Sauté the onion, carrots, and celery 8 to 10 minutes until softened.
- Stir in garlic, then add beans, ham bone, broth, bay leaves, thyme, and paprika. Bring to a boil.
- Reduce heat to low, cover partially, and simmer 1 1/2 to 2 hours until beans are tender.
- Remove the ham bone, shred the meat, and return it to the pot. Season with salt and pepper, then ladle into bowls.
