Soups & Stews
This 9 bean soup recipe with ham delivers the ultimate slow-simmered comfort in one pot—where tender beans, smoky ham, and aromatic broth create a meal that warms both body and soul.
The secret lies in layering flavors: starting with a rich base of onions, garlic, and celery that caramelizes before adding nine different beans (navy, kidney, black, pinto, and more) for texture and depth.
The ham, diced and simmered just until tender, infuses every spoonful with savory richness, turning this into a hearty dish that feels like a hug in a bowl.
What sets this recipe apart is its versatility—whether you're using a traditional stovetop method or an Instant Pot for faster results, the process remains simple yet rewarding. Pre-soaking the beans (or using canned for convenience) ensures they cook evenly, while the slow simmer develops flavors that only time can achieve.
The broth, built from beef stock and vegetable aromatics, becomes the soul of the soup, carrying all those bean varieties and ham in perfect harmony.
By the time you serve this soup, you'll have a steaming pot of slow-simmered goodness—creamy from the beans, robust from the ham, and aromatic from the herbs.
The texture is ideal: tender beans that hold their shape, ham that's just firm enough to bite into, and a broth so flavorful it deserves to be sipped straight from the bowl.
Garnish with fresh parsley or a sprinkle of black pepper, and you've got a dish that's as impressive as it is satisfying.
Perfect for chilly evenings, family gatherings, or meal prep, this soup keeps well for days and tastes even better the next day. Pair it with crusty bread or a simple green salad to round out the meal. Let's get started on this one-pot masterpiece that's equal parts comforting and impressive.
Ingredients for 9 bean soup recipe ham
Nine beans, one pot, and that smoky ham—this is comfort food at its finest.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Navy Beans 🌱 | 1 ½ cups | Soaked overnight or quick-soaked |
| Dried Kidney Beans 🌱 | 1 cup | Soaked overnight or quick-soaked |
| Dried Black Beans 🌱 | 1 cup | Soaked overnight or quick-soaked |
| Dried Pinto Beans 🌱 | 1 cup | Soaked overnight or quick-soaked |
| Dried Great Northern Beans 🌱 | ½ cup | Soaked overnight or quick-soaked |
| Dried Chickpeas 🌱 | ½ cup | Soaked overnight or quick-soaked |
| Dried White Beans 🌱 | ½ cup | Soaked overnight or quick-soaked |
| Dried Lentils 🌱 | ½ cup | Green or brown, rinsed well |
| Diced Ham 🍖 | 1 lb | Smoked or regular, cut into bite-sized pieces |
| Yellow Onion 🧅 | 2 whole | Diced, about 2 cups |
| Carrots 🥕 | 3 whole | Medium, chopped into chunks |
| Celery Stalks 🌿 | 4 whole | Chopped, about 2 cups |
| Garlic Cloves 🧄 | 4 cloves | Minced, for depth of flavor |
| Beef Stock 💧 | 6 cups | High-quality, homemade or store-bought |
| Tomato Paste 🍅 | 2 tbsp | For richness and depth |
| Bay Leaves 🌿 | 2 whole | Fresh or dried, for aromatic flavor |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Salt 🧂 | 2 tsp | Kosher or sea salt, adjust to taste |
| Black Pepper 🌶️ | 1 tsp | Freshly ground, for warmth |
| Olive Oil 🫒 | ¼ cup | For sautéing vegetables |
The beans are the heart of this soup, so don't skimp on variety. Dried beans give the best texture, but canned beans work in a pinch (just drain and rinse well). Costco or bulk bins are great for buying dried beans in bulk—look for organic or heirloom varieties if you want extra flavor. The ham? Smoked ham adds that extra depth, but regular ham works too. Just make sure it's not too salty—trust me, you'll taste it. For the broth, homemade beef stock is ideal, but a good-quality store-bought like Kraft or Swanson will do the trick.
No dried beans? Canned beans are your best friend—just make sure to rinse them well to get rid of any funky sodium. Short on ham? Smoked turkey or even extra-firm tofu can step in, though the flavor will be different. The tomato paste is non-negotiable—it adds that rich, umami depth that makes this soup sing. Trader Joe's or Whole Foods have great options for high-quality tomato paste. Fresh parsley is ideal for garnish, but dried parsley at half the amount works in a bind. The key here is balance—don't over-salt, but don't be shy with the pepper.
This soup tastes even better the next day, so make a big batch—it keeps for 5-6 days in the fridge and freezes beautifully for up to 3 months. Store it in airtight containers, and don't forget to label it! The beans will soften further as it sits, so if you prefer them firmer, eat it sooner. Garnish with fresh parsley right before serving—it adds a pop of color and freshness that makes the whole dish feel special. Pair it with crusty bread or a simple salad for the ultimate cozy meal.
Why You'll Love This Recipe
- No-Soak Necessary: I swear by this trick—just toss the dried beans in cold water overnight, then dump the whole lot into the pot. No peeling, no pre-soaking, just boil and forget. That ham bone? It melts into the broth, turning the beans tender without extra work.
- Ham-Bone Magic: Between us, the secret’s the ham bone. It doesn’t just flavor the soup—it transforms it. The broth gets this deep, smoky richness that makes the beans taste like they’ve been simmering for hours (even if it’s just 45 minutes). My kids ask for seconds before I even finish serving.
- Weeknight to Potluck: This soup is my lazy-day hero, but it also slays at gatherings. Make a double batch on Sunday, and you’ve got lunch for the week and a dish that’ll impress at your cousin’s BBQ. (Yes, even on a Tuesday night.)
- Pantry Goldmine: Honestly, the bean mix is my budget hack. A bag of dried beans costs pennies, and they keep forever. That ham bone? You can use a store-bought one or even a leftover ham hock. It’s the kind of meal that stretches dollars without stretching your patience.
Step-by-step instructions for hearty ham and bean stew
This rich, flavorful soup comes together with patience and simple techniques—perfect for cozy meals.
Prepare the Beans for Maximum Flavor
Combine all the soaked beans—the 1.5 cups dried navy beans, 1 cup each of dried kidney beans and dried black beans, 1 cup dried pinto beans, 0.5 cup dried great northern beans, 0.5 cup dried chickpeas, 0.5 cup dried white beans, and 0.5 cup dried lentils—in a large bowl. Rinse them thoroughly under cold water to remove any debris. Drain well and set aside. The lentils don't need soaking, but rinsing them removes any dust or impurities that could affect the flavor.
I like to use a colander for this step—it lets water drain quickly and prevents soggy beans. If you're short on time, the quick-soak method works too: just cover the beans in hot water for 1 hour, then drain. The key is ensuring they're fully hydrated before cooking to prevent uneven texture in the finished soup.
Sauté the Aromatic Base
Heat the 0.25 cup olive oil in a large Dutch oven or heavy pot over medium heat. Add the diced ham and cook for 5-6 minutes, stirring occasionally, until the edges turn golden brown and the ham releases its rich, savory flavors. Remove the ham with a slotted spoon and set it aside temporarily—you'll add it back later.
In the same pot, add the diced 2 whole yellow onion, chopped 3 whole carrots, and 4 whole celery stalks. Cook for 8-10 minutes, stirring occasionally, until the vegetables soften and the onions become translucent. This step builds the foundation of your soup's flavor—don't rush it. If the vegetables start to stick, add a splash of water and scrape up any browned bits from the bottom of the pot.
Add Garlic, Tomato Paste, and Beans
Stir in the 4 cloves minced garlic and cook for 30 seconds until fragrant—this prevents the garlic from burning, which would make the soup bitter. Add the 2 tbsp tomato paste and cook for 1-2 minutes, stirring constantly, until it darkens slightly and becomes incorporated into the vegetables. This step deepens the soup's richness and balances the earthy flavors of the beans.
Return the ham to the pot and add all the rinsed beans, the 6 cups beef stock, 2 whole bay leaves, 2 tsp salt, and 1 tsp black pepper. Bring the mixture to a boil over high heat, then immediately reduce the heat to low to maintain a gentle simmer. The goal is to keep the soup at a steady barely bubbling temperature—this prevents the beans from breaking apart and keeps the broth clear.
Simmer Until Beans Are Tender
Cover the pot and let the soup simmer for 1 hour to 1 hour 15 minutes, checking occasionally to ensure the liquid level hasn't dropped too low. If it does, add hot water as needed to keep the beans submerged. The beans are done when they're fork-tender—you should be able to pierce them easily with a fork, but they shouldn't fall apart completely. This simmering time ensures the flavors meld beautifully and the beans develop a creamy texture.
Here's the thing—don't skip the simmering time. Rushing this step results in mushy beans and a watery soup. If you're worried about the beans breaking down too much, reduce the heat slightly after the first 45 minutes to slow the cooking process. The soup should have a thick, hearty consistency by the end, with the beans holding their shape but softening enough to be easily eaten.
Finish and Serve
Once the beans are tender, discard the bay leaves and adjust the seasoning if needed—add more salt or black pepper to taste. Stir in the 0.25 cup chopped fresh parsley just before serving to brighten the flavors and add a touch of freshness. The parsley should be added at the end so it retains its vibrant color and texture.
Ladle the soup into bowls and serve immediately, garnished with extra parsley if desired. Each spoonful should deliver a perfect balance of smoky ham, earthy beans, and rich, savory broth. For extra heartiness, serve with crusty bread or a side of cornbread to soak up every last drop of that delicious soup.
Pro Tips For Making 9 Bean Soup Recipe Ham
- SOAK BEANS SEPARATELY: I learned this the hard way—mixing all five dried beans in one pot and soaking them together leads to uneven texture. Navy and Great Northern need 8+ hours (or overnight), while kidney and black beans handle a quick 2-hour soak in hot water. Split them up: the slow-soakers get cold water overnight, the fast ones get a 2-hour hot soak with a pinch of baking soda to soften their skins faster.
- SIMMER DON’T BOIL: After burning three batches, I finally figured out that a gentle simmer—not a rolling boil—keeps the beans intact and the broth clear. Once the soup reaches a low bubble (barely breaking the surface), cover it and let it hum along at 180°F (82°C). Too much heat? Your beans turn mushy, and the ham stays tough. Trust the low heat—it’s where the flavor actually develops.
- SKIP THE HAM SKIN: Yes, even if you’re impatient like me. The rind on ham hocks or shanks is tough as leather and takes forever to break down. Before adding it to the pot, peel off that thick outer layer—it’s not flavorless, but it’s not worth the wait. (Save it for stock if you’re feeling ambitious, but in soup? Nah.) Just the meaty part renders cleanly and keeps the soup silky.
- SALT THE WATER HARD: My grandmother swore by this, and she was right: the first water these beans touch should be aggressively salted (about 1½ tablespoons per quart). It seasons them from the start and prevents that bland, waterlogged taste later. Don’t skimp—you’re not just flavoring the broth, you’re setting the foundation for every bite. (Pro move: add a bay leaf and peppercorns too—they’ll infuse quietly in the background.)
Health benefits of this dish
Protein Powerhouse
This soup packs a serious protein punch with both the beans and ham. The nine bean varieties provide a whopping 25-30 grams of plant-based protein per serving, while the 1 lb ham adds an extra 20-25 grams of lean protein.
Together, they create a complete protein profile, making this an excellent choice for vegetarians looking to boost their protein intake or anyone seeking a meaty yet balanced meal. 💪
Fiber-Rich Comfort
The combination of nine different beans delivers an impressive 15-18 grams of dietary fiber per serving, which supports digestive health and helps keep you feeling full for hours. The variety of beans also means you get a range of fiber types—both soluble and insoluble—which is great for gut health.
This makes the soup not just comforting but also nourishing in ways that keep your body running smoothly.
Heart-Healthy Fats
The ham contributes healthy monounsaturated fats that support heart health, while the beans provide plant-based fats that help lower LDL cholesterol. The olive oil used for sautéing adds an extra dose of heart-healthy fats, making this soup a smart choice for maintaining cardiovascular wellness.
The overall fat profile is balanced, with minimal saturated fat from the ham when compared to other meat-based soups.
Vitamin and Mineral Boost
This soup is a nutritional powerhouse when it comes to vitamins and minerals. The beans provide iron, magnesium, and potassium, while the ham adds zinc and B vitamins.
The carrots and celery contribute vitamin A and C, and the tomato paste brings lycopene, an antioxidant that supports overall health. Together, these ingredients create a soup that's as nutritious as it is delicious.
Low-Calorie Comfort
Despite its hearty texture, this soup is surprisingly low in calories—about 250-300 calories per serving—thanks to the high fiber and water content from the beans and broth. The ham adds richness without excessive calories, making it a satisfying yet lighter option compared to cream-based soups.
It's the perfect balance of comfort and nutrition for those watching their calorie intake.
Meal Prep Friendly
The soup's nutritional benefits extend beyond the bowl—it's perfect for meal prep! The beans and ham retain their nutrients well when stored, and the broth's flavor actually deepens over time.
You can easily portion it into airtight containers for up to 5-6 days in the fridge or freeze for 3 months without losing nutritional value. This makes it a convenient, healthy option for busy weeks. 🌱
Nutrition facts
Frequently asked questions
Can I substitute canned beans for dried beans in this recipe?
Canned beans work perfectly if you're short on time. Just drain and rinse them thoroughly to remove excess sodium. Use 2 (15 oz) cans of each bean type (or 3 cans total for the 0.5 cup dried beans) to maintain the same texture. The soup will still be hearty and flavorful—just check the seasoning since canned beans can be saltier.
How do I make this soup in an Instant Pot instead of simmering?
For an Instant Pot, sauté the ham and vegetables as directed, then add everything else (beans, stock, spices) and cook on high pressure for 20 minutes. Let the pressure release naturally for 10 minutes before quick-release. The beans will be tender and the broth rich—just stir in fresh parsley at the end. This cuts cooking time to about 30 minutes total!
What if my soup turns out too thick or too thin?
Too thick? Add hot water or broth (starting with ½ cup) while stirring. Too thin? Simmer uncovered for 10-15 minutes to reduce the liquid. For extra creaminess, mash ½ cup of beans lightly with a fork before serving—this thickens the soup naturally without altering the texture. The ideal consistency should coat the back of a spoon but still be ladle-friendly.
Can I make this soup vegetarian or vegan?
Yes! Swap the ham for smoked tofu, tempeh, or mushrooms (like portobello) for umami depth. Use vegetable broth instead of beef stock, and add 1 tbsp soy sauce or miso paste for saltiness. The beans will still shine—just adjust seasoning to taste. For extra protein, add ½ cup cooked quinoa at the end.
How do I store leftovers to keep them tasting fresh?
Store in airtight containers in the fridge for up to 5-6 days or freeze for 3 months. To reheat, warm on the stove over medium-low heat, stirring occasionally and adding a splash of water if needed. The flavors actually improve overnight—just give it a taste and adjust salt/pepper before serving.
