Soups & Stews
Bob Mills' 13 bean soup recipe delivers the kind of hearty, smoky depth that makes family dinners feel like a homecoming. This classic stew transforms tough cuts of pork and 13 different beans into tender, flavorful bites that simmer into perfect harmony.
The secret lies in slow cooking—allowing all those beans to soften while absorbing the rich, savory broth and aromatic herbs like thyme and bay leaf.
What sets this recipe apart is its balance of tradition and adaptability. You can use traditional pork shoulder for authentic flavor, or swap in smoked sausage or even plant-based substitutes for a modern twist.
The long simmer—typically 2 to 3 hours—transforms simple ingredients into something deeply satisfying, with each bean adding its own unique texture and taste. The result is a soup that's rich, hearty, and packed with protein, making it the ultimate comfort food for cold days.
By the time you're ready to serve, you'll have a steaming pot of soup with tender pork, perfectly cooked beans, and a broth so flavorful it'll have everyone asking for seconds.
The smoky depth comes from slow-cooked aromatics and optional additions like liquid smoke or smoked paprika, while fresh parsley and crusty bread complete the dish. This is the kind of recipe that gets better with each bite—and each leftovers reheat.
Perfect for feeding a crowd, meal prepping for the week, or simply warming up a chilly evening, this 13 bean soup is a labor of love that pays off in every spoonful. Let's get cooking—your taste buds (and your freezer) will thank you.
Ingredients for bob mills 13 bean soup
Thirteen beans, one pork shoulder, and a slow simmer—this is comfort food at its finest.
| Ingredient | Amount | Notes |
|---|---|---|
| Pork Shoulder 🐖 | 2 lb | Bone-in for flavor, cut into 2-inch chunks |
| Dried Navy Beans 🌱 | 1 cup | Soaked overnight or quick-soaked |
| Dried Kidney Beans 🌱 | ½ cup | Soaked overnight |
| Dried Black Beans 🌱 | ½ cup | Soaked overnight |
| Dried Pinto Beans 🌱 | ½ cup | Soaked overnight |
| Dried Great Northern Beans 🌱 | ½ cup | Soaked overnight |
| Dried Lima Beans 🌱 | ¼ cup | Soaked overnight |
| Dried Chickpeas 🌱 | ¼ cup | Soaked overnight |
| Dried Lentils 🌱 | ¼ cup | Green or brown, soaked overnight |
| Dried White Beans 🌱 | ¼ cup | Soaked overnight |
| Dried Butter Beans 🌱 | ¼ cup | Soaked overnight |
| Dried Split Peas 🌱 | ¼ cup | Soaked overnight |
| Dried Anasazi Beans 🌱 | ¼ cup | Soaked overnight |
| Dried Adzuki Beans 🌱 | ¼ cup | Soaked overnight |
| Onion 🧅 | 1 whole | Yellow or white, chopped |
| Carrot 🥕 | 3 whole | Medium, chopped |
| Celery Stalks 🌿 | 3 whole | Chopped |
| Garlic Cloves 🧄 | 6 cloves | Minced |
| Dried Thyme 🌿 | 1 tbsp | Or 1 tbsp fresh, chopped |
| Bay Leaves 🌿 | 2 whole | Dried |
| Smoked Paprika 🌶️ | 1 tbsp | For smoky depth |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Liquid Smoke 🔥 | ½ tsp | Optional, for extra smokiness |
The pork shoulder is the heart of this soup—bone-in, cut into 2-inch chunks for maximum flavor. Look for pork labeled 'fresh' or 'uncooked' at Costco or your local butcher—it's often cheaper per pound than pre-cut pieces. The beans? Dried is non-negotiable—canned lacks that tender, melt-in-your-mouth texture. Soak them overnight in plenty of water (about 4 cups per cup of beans), then drain. Pro tip: If you're short on time, quick-soak them in boiling water for 2 minutes, then let sit for an hour. The 13-bean mix is what makes this soup legendary—each type adds its own texture and flavor, from creamy butter beans to hearty kidney beans.
No pork? Smoked sausage or plant-based substitutes work beautifully—just swap the pork for an equal weight of sausage or crumbled tofu. Short on a specific bean? Use what you've got—the soup will still be delicious. Fresh herbs like thyme and parsley are ideal, but dried works at one-third the amount. For extra smokiness, add liquid smoke or an extra 1/2 tbsp smoked paprika. The carrots and celery can be pre-chopped to save time—Trader Joe's sells pre-cut veggie mixes that work perfectly. And if you're meal prepping, double the recipe—it freezes like a dream.
This soup tastes even better the next day as flavors meld. Store leftovers in the fridge for 5-6 days or freeze for up to 3 months. For freezing, portion into airtight containers—leave 1-inch headspace for expansion. Reheat gently on the stove or microwave until steaming. The beans will soften even more, making every spoonful even more comforting. Garnish with fresh parsley right before serving—it adds a pop of color and freshness that makes the whole dish feel special.
Why You'll Love This Recipe
- Minimal Soaking Required: I’ll be real—soaking dried beans for hours isn’t my idea of fun. This recipe skips the fuss: just rinse the navy, kidney, black, and pinto beans, toss them in cold water overnight, and wake up to a pot ready for pork shoulder. That’s it. No stress, no waiting around.
- Pork Shoulder Magic: The star here isn’t just the beans—it’s that slow-cooked pork shoulder, falling apart into tender, savory chunks. Between us, the first bite of that meat melting in your mouth while the beans soak up the rich broth? That’s the kind of comfort food that sticks with you.
- Leftovers That Beg for More: Honestly, I’ve never made this and regretted the seconds. The flavors deepen overnight, so the next day’s bowl is even better—perfect for quick lunches or reheating with a splash of broth. My freezer’s always got a few containers of this; it’s my go-to for lazy mornings.
- Budget-Friendly Crowd-Pleaser: You’re getting a full meal for pennies: dried beans are cheap, pork shoulder stretches far, and the spices cost next to nothing. I’ve fed six people for under $15 with this, and no one ever leaves hungry. That’s a win in my book.
Step-by-step instructions for bob Mills' 13 bean soup
This hearty stew delivers deep, smoky flavor and perfect texture every time.
Prepare the Beans for Maximum Tenderness
Combine all the soaked beans—the 1 cup dried navy beans, 0.5 cup dried kidney beans, 0.5 cup dried black beans, 0.5 cup dried pinto beans, 0.5 cup dried great northern beans, 0.25 cup dried lima beans, 0.25 cup dried chickpeas, 0.25 cup dried lentils, 0.25 cup dried white beans, 0.25 cup dried butter beans, 0.25 cup dried split peas, 0.25 cup dried anasazi beans, and 0.25 cup dried adzuki beans—into a large pot. Cover with fresh water by about 2 inches and bring to a boil over high heat. Once boiling, reduce heat to medium-low and simmer uncovered for 30 minutes, stirring occasionally. This initial cooking softens the beans while preventing them from becoming mushy.
I've found that simmering uncovered allows excess starch to escape, which prevents the soup from becoming gluey later. After 30 minutes, drain the beans and set them aside in a colander. The beans should be tender but still hold their shape when pierced with a fork. If any beans remain particularly tough, give them an extra 10 minutes of simmering—they'll soften further during the main cooking process.
Brown the Pork Shoulder for Rich Flavor
While the beans simmer, cut the 2 lb pork shoulder into 2-inch chunks, leaving the bone in for maximum flavor. Pat the chunks dry with paper towels and season generously with 1 teaspoon of the 1.5 tsp salt and all of the 0.5 tsp black pepper. Heat a large Dutch oven over medium-high heat and add the pork in a single layer. Don't crowd the pan—this ensures proper browning.
Sear the pork for 5-7 minutes per side until deeply browned and caramelized. The pork should release easily from the pan, and you'll smell that wonderful meaty aroma developing. Remove the pork and set aside, leaving all the browned bits in the pot—these contain concentrated flavor that will form the soup's base. Here's the thing—this browning step is what transforms a simple bean soup into something truly special.
Build the Flavorful Base
In the same Dutch oven, add 2 tablespoons of vegetable oil if needed to deglaze the pan. Add the chopped 1 whole onion, 3 whole carrots, and 3 whole celery stalks, stirring to coat in the oil. Cook for 5-7 minutes until the vegetables begin to soften. Add the minced 6 cloves garlic and cook for another 30 seconds until fragrant—you'll know it's ready when the kitchen fills with that irresistible garlic aroma.
Stir in the 1 tbsp smoked paprika, 1 tbsp dried thyme, and 2 whole bay leaves. Cook for 1 minute to toast the spices, which deepens their flavor. Pour in 8 cups of fresh water (or enough to cover the pork by about 1 inch) and bring to a boil. Add the browned pork shoulder and return to a simmer. This is where all the flavors come together—the smoky paprika, the toasted spices, and the caramelized pork create a foundation that makes this soup unforgettable.
Simmer the Soup to Perfection
Return the drained beans to the pot and add the 0.5 tsp liquid smoke. Stir gently to combine, then reduce heat to low and cover partially. Simmer for 2 to 2.5 hours, stirring occasionally, until the pork is fork-tender and falls apart easily. The soup should thicken naturally as it cooks, and you'll notice the beans absorbing all that rich flavor. Here's what I do—I check the pork after 2 hours. If it's not quite tender, give it another 30 minutes of simmering.
About 30 minutes before serving, taste and adjust seasoning with the remaining 0.5 tsp salt if needed. The soup should be well-seasoned but not overly salty. Remove and discard the bay leaves. The beans should be tender but still hold their shape—if any remain firm, they'll soften further as they cool.
Finish and Serve with Fresh Herbs
Once the pork is perfectly tender, carefully transfer it to a cutting board using tongs. Skim any excess fat from the surface of the soup if desired, then use two forks to shred the pork directly into the pot. This ensures every spoonful gets that meaty goodness. Stir in the chopped 0.25 cup fresh parsley just before serving to brighten the flavors with a fresh, herbal note.
Ladle the soup into bowls and serve immediately with crusty bread. The soup should be thick enough to coat a spoon but still easy to ladle. Each bite should deliver a perfect balance of smoky, meaty, and bean-rich flavors. This is the kind of soup that tastes even better the next day, but it's so good fresh that you'll want to make a double batch!
Pro Tips For Making Bob Mills 13 Bean Soup
- Parboil Beans Separately: Navy, kidney, and black beans all cook at different speeds—don’t let the tougher ones turn to mush waiting for the others. Split them into two pots, cover with water by 2 inches, and boil for 45 minutes (kidney/black) or 60 minutes (navy) before draining. I learned this the hard way when my soup turned into a gluey disaster.
- Brown the Pork First: Skip the slow start—sear the pork shoulder in batches over medium-high heat until deeply browned on all sides. This locks in flavor and prevents the meat from turning greasy later. (Yes, even if you’re impatient like me, resist the urge to rush this.)
- Skip the Crowding: When adding beans back to the pot, don’t dump them all at once. Layer them in batches with broth to avoid a steamy, half-cooked mess. My grandmother swore by this, and she was right: the beans absorb flavor better when they’re not fighting for space.
- Save the Bacon Grease: Render the pork shoulder fat first, then use that golden liquid to sauté onions and celery before adding everything else. That extra fat makes the soup rich without needing extra oil. (Your future self will thank you—trust me.)
Storing and reheating this recipe
Refrigerator Storage
Let your 13 bean soup cool completely before transferring to airtight containers—I swear by glass Pyrex with snap-on lids.
Store in the fridge at 40°F or below for up to 5-6 days, though I've found the flavors actually deepen overnight as the beans absorb more of that smoky broth. The pork stays tender, and the broth remains rich, making every reheat feel like a cozy hug. 💛
Freezer Prep Tips
For long-term storage, portion your soup into quart-sized freezer bags (leave 1-inch headspace for expansion). I like to use heavy-duty Ziploc bags—they stack neatly in the freezer and thaw faster than containers.
Label each bag with the date, as this soup stays delicious for up to 3 months. Pro tip: Freeze in single-serving portions for easy grab-and-go meals during busy weeks.
Stovetop Reheating
My preferred method is stovetop reheating—it preserves the best texture. Transfer soup to a heavy-bottomed pot (I use my All-Clad) and heat over medium-low for 10-15 minutes, stirring occasionally. Add ¼ cup water or broth if the soup looks too thick.
Taste and adjust seasoning—it often needs a pinch of salt after reheating. The beans soften further, making each spoonful even more comforting. ⏰
Microwave Shortcuts
For quick reheats, use the microwave on 50% power to avoid overcooking. Transfer soup to a microwave-safe bowl, cover loosely with a damp paper towel, and heat in 1-minute intervals until steaming (about 3-4 minutes total).
Stir well between intervals to distribute heat evenly. If it looks dry, add a splash of water or broth—this soup never tastes better than when it's freshly reheated with a little extra liquid. 🔥
Thawing Frozen Soup
Thaw overnight in the fridge for best results, but if you're short on time, use the cold water bath method. Place the frozen bag in a bowl of cold water (not hot) and change the water every 30 minutes until thawed.
Once thawed, reheat on the stovetop as directed. Never microwave frozen soup directly—it creates hot spots that can turn the beans mushy. The slow thaw preserves all that tender texture we worked so hard to achieve. ❄️
Garnish Before Serving
Always finish with fresh parsley and a sprinkle of smoked paprika before serving reheated soup. The parsley brightens the flavors, while the paprika reminds you of that smoky depth from the original cooking. Serve with crusty bread or cornbread to soak up every last drop of that rich broth.
Trust me, the first bite after reheating will taste just as good as the first time you made it. 🌟
Nutrition facts
Frequently asked questions
Can I substitute canned beans for dried in this recipe?
While you can use canned beans in a pinch, dried beans create the perfect texture that makes this soup so special. The long soak and simmer with pork transforms dried beans into tender, melt-in-your-mouth bites. If using canned, drain and rinse them well, then add them during the final 30 minutes of simmering to prevent mushiness. For best results, stick with dried—it's worth the extra time!
How do I make this soup vegetarian?
Swap the pork shoulder for smoked sausage or plant-based crumbles (like Beyond Meat), and use vegetable broth instead of water. Add 1 extra bay leaf and ½ tsp liquid smoke to maintain that smoky depth. For extra heartiness, include ½ cup cooked quinoa or diced potatoes during the final hour of simmering.
Why does my soup taste bland after reheating?
Reheating often requires a little extra seasoning because flavors mellow during storage. Add ¼ tsp smoked paprika and pinch of salt while reheating, and finish with fresh parsley. For extra richness, stir in 1 tbsp tomato paste or ½ cup beef broth during reheating—this restores the depth lost during cooling.
Can I make this soup in a slow cooker?
Brown the pork first, then combine all ingredients in your slow cooker and cook on low for 8-10 hours or high for 5-6 hours. The slow cooker's gentle heat mimics the stovetop simmer perfectly. Just add the beans and pork together at the start—no need for pre-cooking. The result will be just as tender and flavorful!
What's the secret to getting the beans perfectly tender?
The key is the two-stage cooking method: First, simmer the beans uncovered for 30 minutes to soften them while releasing starch. Then, add them to the pot during the final 2-2.5 hours of simmering. This gradual cooking prevents mushiness while ensuring maximum tenderness. If beans are still firm, add ½ cup extra broth and simmer 30 more minutes.
