Navy bean soup is a hearty, feel-good meal made with smoked ham, veggies, and simple spices. It takes a little time to simmer, but you'll end up with a big pot of soup that's full of flavor and totally worth the wait.

What's great about this recipe?
- Simple ingredients, big flavor - A handful of pantry staples come together to make a rich, satisfying soup with minimal fuss.
- Budget-friendly - Dried beans and smoked ham stretch into a hearty, affordable meal that's perfect for feeding a family.
- Freezer-friendly - This soup freezes well, making it a great option for meal prep or saving leftovers for another day.
You will need

🫘 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 all work well in this recipe. They add a rich, smoky flavor and help create a hearty broth.
🫒 Olive Oil - Used for sautéing the vegetables. Avocado oil or a little butter can also do the job.
🥕 Produce - Onion (yellow or white), carrots, celery, and garlic create a base that gives the soup depth and balance.
🍅 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, so you don't have to start from scratch, and water balances it out, so the soup isn't too salty or heavy.
📖 See the recipe card for quantities and preparation.
Prep work tips and notes
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 - If you're using dried navy beans, soak them overnight or for at least 6-8 hours in clean, cool water. Or try a quick soak (my preferred method): Add the beans and 6-8 cups of water to a large pot. Place the pot over medium-high heat and bring the water to a boil. Boil for 2 minutes, then take the pot off the heat, cover, and let the beans soak for 1 hour. After soaking, rinse and drain the beans. 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 - Do a small dice on the onion 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.
Measure remaining ingredients - Gather and measure out the rest of your ingredients before you start cooking to keep things running smoothly.
How to make navy bean soup

- Heat the olive oil in a large pot over medium heat. When the oil is hot, but not smoking, 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-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 cooled, remove the meat from the bones, discard the bones and any fatty pieces. Chop it, 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 with crusty bread or a side of white or brown rice, if desired.

Recipe tips and notes
Sort the beans - Don't skip this step; there are always a few beans that are not up to par. Plus, I've found stones and tiny twigs in dry beans on more than one occasion.
Use reduced-sodium broth - If you're sensitive to salt, use reduced-sodium broth and adjust at the end if needed.
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 together as it cools.
Substitutions and Variations
- Make it vegetarian - Skip the smoked ham and use vegetable broth instead of chicken broth. Add an extra ¼ to ½ teaspoon of paprika for more depth, and stir in a teaspoon of vegetable base (like Better Than Bouillon) to help boost flavor.
- Use different beans - If you can't find navy beans (they can be tricky to track down sometimes), Great Northern or cannellini beans make good substitutes with a similar texture and mild flavor.
- Add extra vegetables - Bulk it up with diced potatoes, chopped spinach, or a handful of kale added in the last 15-20 minutes of cooking.
- Gluten-free - This soup is naturally gluten-free as long as your broth is certified gluten-free. Double-check the label if you're serving someone with a gluten sensitivity.
Storing and Reheating Instructions
- Refrigerator - Allow the soup to cool completely before storing. Transfer leftovers to an airtight container and refrigerate for 3-4 days.
- Freezer - To freeze, cool the soup quickly and transfer it to airtight, freezer-safe containers. Leave about an inch of space to allow for expansion. Label with the date and contents, and freeze for up to 2-3 months.
- Reheating
- Stovetop - Place the soup in a covered saucepan and reheat over medium-low heat, stirring occasionally, until heated through (at least 165°F).
- Microwave - Transfer the soup to a microwave-safe dish and heat in 30-second intervals, stirring in between, until hot.
- Reheating Tip - Bean soups tends to thicken as they sit. If needed, stir in a few tablespoons of broth or water while reheating to loosen it up.
- Food Safety - Perishable foods should not be left at room temperature for more than 2 hours; if the ambient temperature is above 90°F, this time reduces to 1 hour. Reheat leftovers to an internal temperature of at least 165°F. For more information on food storage and safety guidelines, visit the U.S. Department of Agriculture and foodsafety.gov.
Frequently asked questions
Yes, soaking, either overnight or using a quick soak method, is recommended. Soaking helps hydrate the beans and jump-starts the cooking process, making them cook more evenly. I prefer the quick soak method (boil for 2 minutes, then soak for 1 hour), and it always works well.
Cooking time can vary depending on the age and quality of the beans. In general, expect them to take around 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, tasting as you go.
If your navy bean soup isn't thick enough, don't worry-there's an easy fix. First, uncover the pot and let it simmer for a few minutes to reduce some of the liquid. To thicken it further, scoop out a few spoonfuls of beans and use a fork to mash them in a small bowl. Stir the mashed beans back into the soup and let it simmer for a few more minutes, stirring occasionally. This adds body and thickens the broth naturally.
If the soup turns out too thick, stir in ¼ cup of broth at a time until it reaches your desired consistency, then warm through.
What's new in this recipe
This recipe was originally published on December 26, 2018 and has been updated with new photos, numbered step-by-step instructions, and a helpful substitutions section. We also added detailed storing and reheating instructions, along with other tips to make the recipe even easier to follow and more useful for home cooks.

If you enjoyed this recipe, be sure to check out some of our other favorites. For more hearty options, try another bean soup like our bacon lentil soup or pinto bean soup. Craving something classic? You might like our broccoli cauliflower soup or French onion soup-both are restaurant-style favorites you can make at home.
Join Us
Subscribe to our Newsletter to get the latest recipes, cooking tips, and kitchen inspiration delivered straight to your inbox. Don't forget to follow us on social media for daily recipe ideas and more!
📖 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 Oregano minced
- 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. When the oil is hot, but not smoking, 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-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 with crusty bread or a side of white or brown rice, if desired.
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 pot and cover with 4-6 cups of water. Soak overnight, then drain and rinse with cold water.
- 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.
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.






Jason
The broth is awful. No flavor and oily. The recipe was followed to the letter.
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!!! 😋