Navy bean soup is a hearty, comforting soup made with smoked ham, vegetables, and simple spices, then slow-simmered in a flavorful broth until the beans turn creamy. It makes a filling and satisfying meal.

What's great about this recipe?
- Simple pantry ingredients come together to make a hearty, satisfying soup with minimal fuss.
- Dried beans and smoked ham make this a budget-friendly meal that serves six.
- It makes a nice big pot of bean soup, and the leftovers reheat well. Like many bean soups, the flavor is even better the next day.
Jump to:
Budget Check
- The full recipe is about $11-$14
- Per serving (6 servings): about $1.85-$2.35
Uses conventional ingredients. Based on recent U.S. national averages. Actual prices will vary by store and region.
Ingredients you'll need

💌 Save this recipe
By submitting this form, you agree to receive this recipe plus occasional emails from Cook2eatwell.
- Dried navy beans - These small white beans are mild and creamy, perfect for soaking up all the savory flavors in the soup.
- Smoked ham - A smoked ham hock, shank, or leftover meaty ham bone works well in this recipe. They add a rich, smoky flavor and help create a hearty broth.
- Olive oil - Used for sauteing the vegetables.
- Produce - Onion (yellow or white), carrots, celery, and garlic create the flavorful base for the soup.
- Tomato paste - Just a tablespoon adds richness and color. It's used with the vegetables to create a sofrito, the flavorful base of the soup.
- Spices - A simple mix of oregano, paprika, and black pepper seasons the soup without overpowering it. A bay leaf is simmered with the soup for a subtle, herby note. Salt is added at the end, only if needed.
- Broth - Chicken broth adds flavor, while water balances it out so the soup isn't too salty or heavy.
📖 See the recipe card for quantities and preparation.
Prep work
Sort the beans - Sorting means picking through the beans and removing any that are substandard, misshapen, or discolored, along with anything that doesn't belong (like small stones or debris).
Soak the beans - Soak the navy beans overnight or for at least 6-8 hours. Add them to a large pot and cover generously with cool water. Or try a quick soak (my preferred method): Add the beans and 6-8 cups of water to a large pot. Bring to a boil over medium-high heat and boil for 2 minutes. Remove from the heat, cover, and let the beans soak for 1 hour. After soaking, drain and rinse well. In the meantime, start the rest of the prep.


Rinse the smoked ham - Give the ham hocks or shanks a quick rinse to remove excess salt. It's a simple step that helps you better control the salt in the final dish.
Chop the vegetables - Dice the onion small so it mostly dissolves into the broth. Dice the carrots and celery (or slice them if you want a more rustic feel). Mince the garlic.
How to make navy bean soup

- Heat the olive oil in a large, heavy pot over medium heat. Add the onions, carrots, and celery. Cook for 5 minutes, stirring frequently.

- Add the garlic, tomato paste, oregano, paprika, and black pepper. Cook for 1-2 minutes, stirring often.

- Add the smoked ham, navy beans, chicken broth, water, and bay leaf. Stir well. Raise the heat to high and bring the liquid to a boil, about 6-8 minutes.

- Lower the heat to medium-low. Cover and simmer for 60 minutes, stirring occasionally. Maintain a gentle simmer and adjust the heat as needed.

- Use tongs to remove the smoked ham from the pot and place it on a cutting board or plate. Cover the pot and continue cooking the soup.

- Once the ham is cool enough to handle, remove the meat from the bones. Discard the bones and any fatty pieces. Chop the meat, return it to the pot, and simmer for 15 minutes. Taste a few beans. If they're tender, the soup is ready.
- If the beans are still a little firm, continue cooking in 15-minute increments, checking for tenderness and stirring more often as the soup thickens.
- Remove the bay leaf and discard. Taste the soup and add salt if needed. As a reference, we added ¾ teaspoon to ours. Serve and enjoy.

Recipe tips and notes
- Use reduced-sodium broth - If you're sensitive to salt, use reduced-sodium chicken broth and adjust the salt at the end, if needed.
- Navy bean substitutes - If you can't find navy beans, Great Northern or cannellini beans are good substitutes. They have a similarly mild flavor and creamy texture.
- Let it rest before serving - If you have time, let the soup sit for 10-15 minutes off the heat before serving. It will thicken slightly, and the flavors will meld as it cools.
Serving suggestions
Bread - Serve it with crusty bread, homemade garlic bread, or toasted bread for dipping.
Rice - Add a scoop of white or brown rice to the bowl for an extra filling meal.
Soup and salad or sandwich - Serve a smaller bowl with a simple green salad or half a sandwich for a restaurant-style lunch or dinner. For the salad, try a homemade creamy French dressing.

Storing and reheating
Refrigerator - Store cooled leftovers in an airtight container in the refrigerator for 3-4 days.
Freezer - Freeze cooled soup in airtight, freezer-safe containers for 2-3 months. Leave about an inch of space for expansion and label and date the containers.
Reheating - Reheat on the stovetop over medium-low heat or in the microwave until heated through to at least 165°F. Bean soup thickens as it sits, so add a little broth or water while reheating if needed.
Food safety - Refrigerate leftovers within 2 hours, or within 1 hour if the ambient temperature is above 90°F.
Frequently asked questions
Yes, soaking overnight or using a quick-soak method is recommended for this recipe. Soaking hydrates the beans and helps them cook more evenly. I prefer the quick-soak method: boil for 2 minutes, then soak for 1 hour.
Cooking time can vary depending on the age and quality of the beans. In general, expect them to take about 1 to 1½ hours to become tender. Check a few beans toward the end of the cooking time. If they're still firm, continue cooking in 15-minute increments.
If the soup isn't thick enough, uncover the pot and simmer for a few minutes to reduce some of the liquid. To thicken it further, mash a few spoonfuls of beans with a fork, stir them back into the soup, and simmer for a few more minutes.
If the soup turns out too thick, stir in ¼ cup of broth at a time until it reaches your desired consistency, then warm through.

If you enjoyed this navy bean soup, try our ham and bean soup, made with canned white beans and leftover ham for a quicker option. Our white bean soup is another easy choice made with cannellini beans and vegetables. Or try potaje de lentejas (Cuban lentil soup), a hearty lentil soup made with smoked ham, potatoes, and pumpkin.
Join Us
Love easy recipes made with simple ingredients? Subscribe to our Newsletter and get weekly meal ideas delivered straight to your inbox. Follow us on social media so you never miss a new recipe.
📖 Recipe

Navy Bean Soup Recipe
Ingredients
- 16 ounces Navy Beans sorted, soaked, and rinsed (see recipe notes for step-by-step)
- 1 pound Smoked Ham Hocks, Shank, or Meaty Ham Bone rinsed
- 2 tablespoons Olive Oil
- 1 medium Onion small dice (about 1 cup)
- 2 large Carrots diced (about 1 cup)
- 2 Celery Ribs diced (about ½ cup)
- 3-4 Garlic Cloves minced
- 1 tablespoon Tomato Paste
- 1 teaspoon Dried Oregano
- 1 teaspoon Paprika
- ¼ teaspoon Black Pepper
- 4 cups Chicken Broth
- 4 cups Water
- 1 Bay Leaf
- Salt to taste at the end, if needed
Instructions
- Heat the olive oil in a large pot over medium heat. Add the onions, carrots, and celery. Cook for 5 minutes, stirring frequently.
- Add the garlic, tomato paste, oregano, paprika, and black pepper. Cook for 1-2 minutes, stirring often.
- Add the smoked ham, navy beans, chicken broth, water, and bay leaf. Stir well. Raise the heat to high and bring the liquid to a boil, about 6-8 minutes.
- Lower the heat to medium-low. Cover and simmer for 60 minutes, stirring occasionally. Maintain a gentle simmer and adjust the heat as needed.
- Use tongs to remove the smoked ham from the pot and place it on a cutting board or plate. Cover the pot and continue cooking the soup.
- Once the ham is cool enough to handle, remove the meat from the bones. Discard the bones and any fatty pieces. Chop the meat and return it to the soup.
- Continue simmering the soup for another 15 minutes. Taste a couple of beans, if they're tender, the soup is done.
- If the beans are still a little firm, continue cooking in 15-minute increments, checking for tenderness and stirring more often as the soup thickens.
- Use tongs to remove the bay leaf and discard.
- Taste the soup and add salt if needed. As a reference, we added ¾ teaspoon to ours.
- Serve and enjoy.
Notes
- Sort the beans - Go through the beans and remove any that are discolored or misshapen, along with any debris (stones, twigs, etc.).
- Overnight soaking method - Add the beans to a large pot and cover generously with cool water. Soak overnight, then drain and rinse well.
- Quick soaking method - (My preferred method) Add the beans and 6-8 cups of water to a large pot. Bring to a boil over medium-high heat and boil for 2 minutes. Remove from the heat, cover, and let soak for 1 hour. Then, drain and rinse well.
- If you're sensitive to salt, use reduced-sodium broth and adjust at the end if needed.
- Cooking time will vary depending on the soaking method used and the freshness and quality of the beans. The listed time is based on our recipe testing. It does not include soaking. See the instructions above for details on overnight and quick soak methods.
💌 Save this recipe
By submitting this form, you agree to receive this recipe plus occasional emails from Cook2eatwell.
Nutrition
The nutritional information above is computer generated and is only an estimate. There is no guarantee that it is accurate. This data is provided as a courtesy for informational purposes only.






David
Been making this soup for at least a year now. It’s fantastic.
We save our ham bone from our Easter and Christmas hams with a little extra meat.
Patricia D.
This is the BEST navy bean soup ever and I have made it many times. I use smoked meat that my hubby smokes and it makes this soup taste amazing! Thank you for sharing the recipe.
Also, a big thanks for the tip from Patricia Hill. I’ll have to try the mashed northern beans for the added thickness. Yum!
Patricia Hill
So easy to put together and absolutely delicious. I added 3 carrots, 3 stalks of celery, 2 medium potatoes, 2 teaspoons of oregano and smoked paprika. Added a slurry of cornstarch and mashed up a can of northern beans to make it thicker. There wasn’t enough ham on my bones so I added a slab of cut up ham.
Jason
The broth is awful. No flavor and oily. The recipe was followed to the letter.
Pat
Must not have ever had navy bean soup with the correct ingredients.
It is absolutely delicious, used left over Christmas Picnic Ham bone halved with other chunks.
Marilyn
This soup was so delicious!!! I did add a few more carrots and onions.
I used a ham hock ( couldn’t find a ham bone ) and added some extra chopped ham. I served it with a baguette. It was a big hit with my family!!! 😋