Soups & Stews
This 12 bean soup recipe with ham bone transforms humble pantry staples into a deeply flavorful, hearty stew that tastes like a holiday meal all year round. The ham bone isn't just an ingredient—it's the secret weapon that infuses the broth with rich, savory depth while keeping the beans tender and the soup effortlessly satisfying. I've perfected this version over years of testing, ensuring every spoonful delivers that perfect balance of smoky, salty, and slightly sweet flavors that make it a family favorite.
The beauty of this recipe lies in its simplicity: one pot, minimal prep, and hours of gentle simmering to develop complex flavors. You'll start with dried beans (no soaking required) and build layers of taste through caramelized onions, aromatic herbs, and that unmistakable ham bone essence. The key technique is the long, slow cook—this isn't something you can rush—and the reward is a soup that only gets better as it sits, with flavors melding into perfect harmony. Even better, it's the kind of dish that tastes just as good reheated the next day, making it ideal for meal prep.
What you'll end up with is a deeply aromatic, thick yet spoonable soup where each bean variety contributes its own texture and flavor—creamy navy beans, hearty pinto beans, and tender lima beans all swimming in a golden, ham-infused broth. The ham bone doesn't just add flavor; it transforms the soup into something truly special, with a richness that's impossible to achieve with bouillon cubes or store-bought broth. This is comfort food at its finest, the kind of meal that feels like a warm embrace on a chilly evening.
The best part? This recipe scales effortlessly—double it for a crowd or halve it for a cozy dinner for two. Serve it with crusty bread to soak up every last drop of that flavorful broth, or pair it with a simple green salad for balance. Once you try this version, you'll never go back to the canned or basic recipes. Let's get started on creating soup that tastes like home.
Ingredients for 12 bean soup recipe with ham bone
Twelve types of beans, one magical ham bone, and pantry staples you already own.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Navy Beans 🌾 | 1 cup | No soaking required |
| Dried Pinto Beans 🌾 | 1 cup | No soaking required |
| Dried Lima Beans 🌾 | 1 cup | No soaking required |
| Dried Kidney Beans 🌾 | ½ cup | No soaking required |
| Dried Black Beans 🌾 | ½ cup | No soaking required |
| Dried Chickpeas 🌾 | ½ cup | No soaking required |
| Dried Great Northern Beans 🌾 | ½ cup | No soaking required |
| Dried White Beans 🌾 | ½ cup | No soaking required |
| Dried Lentils 🌾 | ½ cup | No soaking required |
| Dried Split Peas 🌾 | ½ cup | No soaking required |
| Dried Butter Beans 🌾 | ½ cup | No soaking required |
| Ham Bone 🍖 | 1 whole | Smoked or unsmoked preferred |
| Yellow Onions 🧅 | 2 whole | Medium, thinly sliced |
| Garlic Cloves 🧄 | 4 cloves | Minced for depth |
| Carrots 🥕 | 3 whole | Medium, chopped |
| Celery Stalks 🧅 | 3 whole | Chopped for base |
| Bay Leaves 🌿 | 2 whole | Fresh preferred |
| Thyme 🌿 | 1 tbsp | Dried or 1 tbsp fresh |
| Salt 🧂 | 2 tsp | Kosher or sea salt |
| Black Peppercorns 🌶️ | 1 tsp | Freshly cracked |
| Apple Cider Vinegar 🍎 | 1 tbsp | Brightens flavors |
| Olive Oil 🫒 | 2 tbsp | For caramelizing onions |
The ham bone is non-negotiable here—it's what turns this from a good soup to a showstopper. Look for smoked hocks at the meat counter (Costco or Whole Foods have great options), but even the regular supermarket variety works. If you can't find ham bone, ham hocks or a smoked ham shank are your next best bet. The beans? Grab them all from the bulk section if you can—Bob's Red Mill or Arrowhead Mills are my go-to brands. They keep for years, so stock up. For the carrots and celery, organic is worth it—they caramelize better and add a subtle sweetness that rounds out the soup's depth.
No ham bone? Double the broth and add 1/2 cup soy sauce plus 1 tsp smoked paprika for a smoky flavor boost. Swapping beans? Any dried bean works—just keep the total at 4 cups. Fresh thyme? Use half the amount of dried. The vinegar can be subbed with lemon juice, but apple cider vinegar has that perfect tang. For the base veggies, frozen works in a pinch, but fresh gives you better texture. And if you're short on time, pre-chopped frozen onions and celery from Trader Joe's save you 10 minutes of prep.
This soup only gets better with time—4-5 days in the fridge is ideal, and it freezes beautifully for up to 6 months. I always make a double batch so I can freeze half for lazy days. The ham bone? Pick it clean after cooking, then simmer it in fresh water for 30 minutes to make broth—use it in rice or pasta next time. Store in glass containers with a splash of broth to keep everything moist. Leftovers reheat perfectly, and the flavors deepen overnight—trust me on this.
Why You'll Love This Recipe
- Here’s what sold me: this soup begs to be made in bulk. The flavors actually get better after a day or two in the fridge, so I cook a giant batch on Sunday and reheat portions all week. Freezes like a dream too—just thaw and warm, and you’ve got a cozy meal ready in minutes. Perfect for busy nights when you’d normally order takeout.
- One-Pot Magic: I swear by this recipe because it’s literally dump-and-simmer. Soak the beans overnight (or use the quick-soak hack with boiling water), toss everything into one pot with the ham bone, and let it work its flavor while you do anything—laundry, emails, or that podcast you’ve been meaning to listen to. No chopping, no fuss, just layers of flavor building effortlessly.
- Ham Bone Secret Weapon: Between us, that ham bone is the MVP. It melts into the soup, leaving behind this unreal depth—salty, smoky, and rich—that none of those dried beans could achieve alone. The navy beans stay tender, the pinto beans add heartiness, and the ham bone ties it all together in a way that makes you go back for seconds without even thinking.
- Meal Prep Goldmine: Here’s what sold me: this soup begs to be made in bulk. The flavors actually get better after a day or two in the fridge, so I cook a giant batch on Sunday and reheat portions all week. Freezes like a dream too—just thaw and warm, and you’ve got a cozy meal ready in minutes. Perfect for busy nights when you’d normally order takeout.
Step-by-Step instructions for 12 bean soup with ham bone
This hearty soup comes together in one pot for maximum flavor and minimum cleanup.
🍳 Step 1: Build the Flavor Base with Ham and Vegetables
Heat the 2 tablespoons olive oil in a large Dutch oven over medium heat. Add the 2 whole yellow onions, 3 whole carrots, and 3 whole celery stalks (all chopped), stirring occasionally for 8-10 minutes until the onions become translucent and the carrots begin to soften.
This slow cooking process develops the sweetness in the vegetables and creates a rich foundation for the soup. I like to stir frequently at first to prevent burning, then let them cook undisturbed for the last few minutes to caramelize slightly. Add the 4 cloves garlic cloves and cook for another 30 seconds until fragrant—this releases the garlic's full flavor without burning it.
🍳 Step 2: Add the Ham Bone and Seasonings
Place the 1 whole ham bone in the pot and add 1 tablespoon thyme, 2 whole bay leaves, 2 teaspoons salt, and 1 teaspoon black peppercorns. Pour in 1 tablespoon apple cider vinegar and stir everything together. The vinegar brightens the flavors and helps tenderize the beans during cooking.
Bring the mixture to a simmer, then add 8 cups water (enough to cover everything by about 2 inches). The liquid should bubble gently but not boil vigorously. This simmering temperature is crucial—it prevents the beans from toughening and allows them to absorb all that delicious ham flavor.
🥘 Step 3: Combine All the Dried Beans
Add all the dried beans: 1 cup navy beans, 1 cup pinto beans, 1 cup lima beans, 0.5 cup kidney beans, 0.5 cup black beans, 0.5 cup chickpeas, 0.5 cup great northern beans, 0.5 cup white beans, 0.5 cup lentils, 0.5 cup split peas, and 0.5 cup butter beans. Stir gently to distribute them evenly throughout the liquid.
Here's the thing—this bean medley gives you incredible texture and nutritional variety. The lentils and split peas break down quickly, while the larger beans maintain their shape. Don't worry about the beans sticking together; they'll separate as they cook. Bring the soup back to a gentle simmer and maintain this temperature throughout cooking.
⏰ Step 4: Simmer Until Beans Are Tender
Cover the pot and let the soup simmer gently for 1.5 to 2 hours, checking occasionally to ensure there's enough liquid. If the soup reduces too much, add hot water 1 cup at a time to maintain the proper consistency. The beans are done when they're fork-tender—you should be able to pierce them easily with a fork but still have some resistance.
I know it's tempting to peek under the lid, but each time you do, you lose valuable heat and moisture. Instead, give it a gentle shake occasionally to redistribute the beans. The ham bone will infuse the soup with rich, savory flavor as it cooks. When the beans are tender, remove the ham bone (you can save it for broth or sandwiches later) and discard the bay leaves.
🍽️ Step 5: Adjust Seasoning and Serve Warm
Taste the soup and adjust the seasoning if needed. You might need a little more salt to balance the flavors, especially if you used a smoked ham bone. The soup should be rich but not salty, with the sweetness of the carrots and onions shining through. I like to add a splash of the cooking liquid to my bowl before serving—it's packed with flavor!
Serve the soup warm in bowls, garnished with fresh parsley if you like. Each spoonful delivers a perfect balance of textures and flavors—creamy beans, tender vegetables, and that unmistakable ham-infused richness. This soup tastes even better the next day as the flavors continue to meld together. Enjoy it with crusty bread for the ultimate comfort meal!
Pro Tips For Making 12 Bean Soup Recipe With Ham Bone
- SOAK BEANS SEPARATELY: Pinto and lima beans need a 6-8 hour soak, while navy and black beans only need 4—mix them all together and you’ll end up with some underdone or mushy. I learned this the hard way when my soup had a weird texture because the pintos were still tough. Use two separate bowls, label them, and save yourself the guesswork.
- CRUSH THE HAM BONE: That ham bone isn’t just for flavor—it’s for depth. Smash the ends with a mallet or heavy pan before simmering so the marrow seeps out faster. I used to just toss it in whole and wonder why my soup tasted flat until I tried this. The first 30 minutes of simmering are when it matters most—don’t skip it.
- Skim Early, Skim Often: The first 20 minutes of simmering will bring up a ton of foam and scum from the dried beans. If you ignore it, your soup will taste bitter. Use a ladle or fine-mesh spoon to skim aggressively at first, then check every 10 minutes until the water clears. Yes, it’s tedious, but it’s the thing that makes the difference between good and great.
- ADD BEANS IN STAGES: Dump all the beans in at once and you’ll end up with some floating like they’re still in a can. Instead, add half the beans at the start, let them simmer for 45 minutes, then add the rest. This guarantees even cooking—no one wants a mouthful of underdone kidney beans ruining the texture. (And trust me, you’ll notice.)
Make-ahead tips for leftovers
Prep Ahead Strategy
Start your flavor base the night before by caramelizing the onions, carrots, and celery in a Dutch oven with olive oil. Store them in an airtight container in the fridge—they’ll develop deeper sweetness overnight. The next day, just add the ham bone, spices, and beans to the already-developed base and simmer. This cuts your active cooking time by 30 minutes while building richer flavor. 💫
Freezer-Friendly Plan
Make a double batch and freeze half for future lazy days. Portion the soup into quart-sized freezer bags, leaving 1 inch headspace for expansion. When ready to eat, thaw overnight in the fridge, then reheat on the stovetop with ½ cup water to restore moisture. I always keep a backup batch in the freezer—it’s my secret to stress-free weeknights.
Ham Bone Hack
Save the ham bone after cooking! Simmer it in 4 cups fresh water with 1 tsp salt for 30 minutes to make a second batch of flavorful broth. Use this for rice, pasta, or even another pot of soup. The bone yields about 3 cups rich broth, and I never throw it away—it’s pure efficiency. 🍖
Bean Soaking Shortcut
No soaking required, but if you’re short on time, use pre-cooked canned beans for a quicker version. Drain and rinse 4 cups mixed canned beans (like pinto, black, and kidney), then add them with the dried beans in Step 3. The texture will be slightly softer, but the flavor development stays the same. This cuts cooking time by 45 minutes—perfect for busy days.
Flavor Boost Storage
Store leftovers in the fridge for 4-5 days—the flavors actually improve as the beans absorb more broth. For long-term storage, freeze in glass containers (they reheat better than plastic). When reheating, add a splash of water or broth to prevent drying out. I always make extra because it’s impossible to resist seconds. ✨
Slow Cooker Adaptation
Transfer the entire recipe to a 6-quart slow cooker after Step 2. Cook on LOW for 8 hours or HIGH for 4 hours, then adjust seasoning. The slow cooker’s gentle heat mimics the Dutch oven’s simmer, and you won’t have to monitor it. Just stir occasionally to prevent sticking—this is my go-to method for hands-off cooking. 🏡
Nutrition facts
Frequently asked questions
Can I substitute the ham bone with something else?
Yes! If you can't find a ham bone, use ham hocks or a smoked ham shank for similar richness. For a vegetarian version, replace it with 1 cup soy sauce plus 1 tsp smoked paprika (add with the beans) and 2 extra cups vegetable broth. The key is replicating that deep, savory flavor profile the bone provides.
How do I know when the beans are fully cooked?
The beans are done when they're fork-tender—you should be able to pierce them easily with a fork but still have slight resistance. 1.5-2 hours of simmering is typical, but check at 1 hour if you're using smaller beans like lentils or split peas. The beans will continue softening even after removing from heat, so slightly undercooked is better than mushy.
Can I make this soup in an Instant Pot?
Use the sauté function for the onions, carrots, and celery (5 minutes on high), then add everything else and cook on high pressure for 30 minutes, followed by a 10-minute natural release. The Instant Pot cuts cooking time to about 45 minutes total. Just be sure to add 1 extra cup of liquid to account for pressure cooking.
Why does my soup taste too thin or too thick?
Thin soup? Add 1/4 cup cornstarch or flour mixed with 1/4 cup cold water, stir in, and simmer for 5 minutes. Too thick? Stir in 1/2 cup hot water or broth at a time until you reach your desired consistency. The beans absorb liquid as they cook, so maintaining the right water level is key—aim for 2 inches above the beans throughout cooking.
What's the best way to store and reheat leftovers?
Store in airtight containers in the fridge for 4-5 days or freeze for up to 6 months. To reheat, warm on the stovetop over medium-low heat, stirring occasionally and adding 1-2 tablespoons water or broth if it looks dry. Microwave reheating works too—just cover and heat for 2-3 minutes, stirring halfway. The flavors actually deepen overnight!
