A pot of this soup on the stove makes the whole house smell incredible.
We’re talking a thick, deeply savory broth loaded with fifteen different types of beans, tender vegetables, smoky seasoning, and enough protein and fiber to make this one of the most nutritious meals you can make in a single pot. And it reheats even better the next day.
The ingredient list looks long at first glance. But most of it is pantry staples you already have — and the technique itself is genuinely simple. This is a one-pot, low-effort, high-reward kind of meal.
There’s one step in the bean prep that most people skip and it makes a real difference in both texture and digestibility. You’ll want to read through before you start soaking.
What You’ll Need
The Beans
- 1 bag (20 oz) dried 15-bean soup mix (the Hurst’s HamBeens brand is widely available and comes with a seasoning packet — use it or skip it, your choice)
The 15-bean mix typically includes: navy beans, pinto beans, large lima beans, yelloweye beans, garbanzo beans, baby lima beans, green split peas, kidney beans, cranberry beans, small white beans, black-eyed peas, yellow split peas, lentils, white kidney beans, and black beans.
For the Soup
- 2 tbsp olive oil
- 1 large yellow onion, diced
- 4 cloves garlic, minced
- 3 medium carrots, peeled and diced
- 3 stalks celery, diced
- 1 can (14.5 oz) diced tomatoes, undrained
- 8 cups low-sodium chicken broth (or vegetable broth for vegan)
- 2 cups water
- 1 tsp smoked paprika
- 1 tsp cumin
- ½ tsp dried thyme
- ½ tsp dried oregano
- 1 bay leaf
- 1 tsp salt (plus more to taste)
- ½ tsp black pepper
- 1 tbsp apple cider vinegar (added at the end — this is the secret)
- Fresh parsley, for garnish
Optional Add-ins
- 1 smoked ham hock or 1 cup diced smoked sausage (for a non-vegan, smokier version)
- 1 tsp red pepper flakes (for heat)
- 1 parmesan rind (added during simmering for incredible depth)
Tools You’ll Need
- Large Dutch oven or heavy-bottomed pot (at least 6-quart)
- Large bowl (for soaking beans)
- Colander or fine mesh strainer
- Wooden spoon or heat-safe spatula
- Sharp chef’s knife
- Cutting board
- Ladle
- Airtight containers for storage
Pro Tips
This is a forgiving recipe — but these tips take it from good to genuinely great.
- Soak the beans overnight, then do a quick rinse. Soaking dramatically reduces cooking time and improves texture. More importantly, soaking and rinsing the beans before cooking removes a significant amount of the oligosaccharides (the compounds responsible for digestive discomfort). A lot of recipes skip this step. Don’t.
- Add the apple cider vinegar at the very end. This is one of those small moves that completely changes the final flavor. A tablespoon of ACV stirred in after the soup is done brightens the entire pot, cuts through the heaviness of the beans, and makes the whole thing taste more complex and alive. Don’t add it earlier — the acid can toughen the beans if added during cooking.
- Drop a parmesan rind in while it simmers. If you have one sitting in the back of your fridge (many people do and never know what to do with it), add it to the pot. It slowly releases a deep, savory, slightly nutty flavor into the broth. Remove before serving. This is a chef move that costs absolutely nothing.
- Don’t add salt until the beans are mostly tender. Salting too early can cause bean skins to tighten and stay tough no matter how long you cook them. Hold the salt until the last 30 minutes of cooking.
- Mash a portion of the beans. Once the soup is done, take the back of your spoon and press about ½ cup of beans against the side of the pot and stir. This thickens the broth naturally without any cornstarch or flour and gives the soup that restaurant-quality body.
Substitutions and Variations
Bean mix: Can’t find a 15-bean mix? Use any combination of dried beans you have — navy, pinto, kidney, and black beans together make a great base. You can also use canned beans (drain and rinse) and skip the soaking; reduce cooking time to about 45 minutes.
Chicken broth: Vegetable broth makes this fully vegan with no other changes needed.
Smoked paprika: Regular paprika works, but smoked paprika adds a depth that’s hard to replicate otherwise. It’s worth having in your pantry.
Ham hock: A few slices of thick-cut bacon added at the sauté stage also works well. For a fully plant-based version, a teaspoon of liquid smoke gives you that smoky note without any meat.
Flavor variations:
- Add 2 cups of chopped kale or spinach in the last 10 minutes for extra greens
- Add a diced sweet potato with the carrots for a slightly sweeter, heartier version
- Make it Cajun-style: add andouille sausage, Creole seasoning, and a splash of hot sauce
- Add 1 cup of diced fire-roasted tomatoes instead of regular diced for a smokier base
- Stir in 2 tbsp of tomato paste at the beginning for a deeper, richer broth
Make Ahead Tips
15 Bean Soup is one of the best meal prep recipes out there — it genuinely improves after a day in the fridge.
Beans: Soak overnight, drain, and rinse. Store covered in fresh water in the fridge for up to 2 days before using.
Chopped vegetables: Dice the onion, carrots, and celery up to 3 days ahead. Store in an airtight container in the fridge.
Full soup: Make the entire pot and refrigerate for up to 5 days. The broth thickens overnight as the beans continue to absorb liquid — just add a splash of water or broth when reheating.
Freezer: Freezes beautifully for up to 3 months. Cool completely, portion into freezer-safe containers, and freeze flat. Thaw overnight in the fridge or reheat directly from frozen over low heat, stirring occasionally.
How to Make 15 Bean Soup
Step 1: Soak the Beans
- Sort through the dried bean mix and remove any debris or shriveled beans.
- Place beans in a large bowl and cover with cold water by at least 3 inches (they swell significantly).
- Soak for 8 hours or overnight at room temperature.
- Drain and rinse well under cold running water.
Step 2: Sauté the Aromatics
- Heat olive oil in a large Dutch oven over medium heat.
- Add the diced onion and cook for 5–6 minutes, stirring occasionally, until softened and translucent.
- Add the garlic, carrots, and celery. Cook for another 3–4 minutes, stirring occasionally.
- Add smoked paprika, cumin, thyme, and oregano. Stir and cook for 1 minute until fragrant.
Step 3: Build the Soup
- Add the soaked and drained beans, diced tomatoes (with their liquid), chicken broth, and water. Stir to combine.
- Add the bay leaf and parmesan rind if using.
- If adding a smoked ham hock or sausage, add it now.
- Bring to a boil over high heat, then reduce to a steady simmer.
Step 4: Simmer
- Simmer uncovered (or with the lid slightly ajar) for 1 hour 30 minutes to 2 hours, stirring occasionally, until the beans are completely tender. Cooking time will vary based on the age of your dried beans — older beans take longer.
- With 30 minutes left, add salt and pepper. Taste and adjust.
- Remove the bay leaf and parmesan rind.
Step 5: Finish and Serve
- Use the back of your spoon to mash about ½ cup of beans against the pot wall. Stir to incorporate — this naturally thickens the broth.
- Stir in the apple cider vinegar.
- Taste one final time. Adjust salt, pepper, and vinegar as needed.
- Ladle into bowls and garnish with fresh parsley.
Serve with crusty bread. Non-negotiable.
Nutrition Breakdown
Per serving, based on 8 servings
| Nutrient | Amount |
|---|---|
| Calories | ~290 kcal |
| Total Fat | 5g |
| Saturated Fat | 0.8g |
| Carbohydrates | 45g |
| Fiber | 14g |
| Sugar | 6g |
| Protein | 17g |
| Sodium | ~480mg |
| Iron | ~25% DV |
| Potassium | ~720mg |
Estimates based on the vegetarian version without sausage or ham hock. Sodium will vary based on broth brand.
Fun fact: a single serving of this soup contains more fiber than most people get in an entire day. 14 grams per bowl is genuinely impressive for one meal.
Dietary Info
| Diet | Status |
|---|---|
| Vegan | ✓ (use vegetable broth, skip ham hock) |
| Vegetarian | ✓ (same) |
| Gluten-free | ✓ (verify broth brand is GF) |
| Dairy-free | ✓ (skip parmesan rind) |
| High-protein | ✓ (17g per serving) |
| High-fiber | ✓ (14g per serving) |
| Meal-prep friendly | ✓✓ |
What to Serve It With
- Crusty sourdough or a thick slice of country bread — for soaking up the broth, absolutely essential
- Cornbread — a classic pairing, especially with the smoky version
- Simple green salad — something light to balance the heartiness of the soup
- Grated parmesan on top — a small move that makes a big difference
- A splash of hot sauce — Cholula or Tabasco on top right before eating is a good call if you like heat
Leftovers and Storage
Refrigerator: Store in airtight containers for up to 5 days. The soup thickens significantly overnight — add a splash of water or broth when reheating and stir well.
Freezer: Up to 3 months in freezer-safe containers. Leave headspace — the soup expands as it freezes. Thaw overnight in the fridge or reheat from frozen over low heat on the stove.
Reheating: Stovetop over medium-low heat is best, stirring occasionally and adding liquid as needed. Microwave works for single portions — cover loosely and heat in 90-second intervals, stirring between each.
Tip: Freeze in individual portions for easy grab-and-heat lunches throughout the week. This soup genuinely tastes better reheated than it does fresh.
FAQ
Do I have to soak the beans overnight? Technically no — you can do a quick soak (boil beans for 2 minutes, then let sit for 1 hour, drain, and rinse). But overnight soaking gives better texture and does the most for digestibility. If you’re truly pressed for time, canned beans are a legitimate shortcut — just reduce your cook time significantly.
Why are my beans still tough after a long time cooking? A few possible reasons: the beans were old (dried beans older than 2 years can take forever to soften and sometimes just don’t), salt was added too early, or acidic ingredients like tomatoes were added before the beans were tender. For next time, make sure your beans aren’t more than a year old, hold salt until near the end, and add tomatoes in the last 45 minutes if you’re having issues.
Can I make this in a slow cooker? Yes. After sautéing the aromatics on the stove, transfer everything to a slow cooker. Cook on low for 8–10 hours or high for 5–6 hours. Add the ACV and do the bean-mashing step at the end.
Can I make this in an Instant Pot? Yes. Sauté the aromatics using the sauté function, add everything else, and cook on high pressure for 40 minutes with a natural release of 15 minutes. No pre-soaking required for the Instant Pot version.
The soup is too thin. How do I thicken it? Mash more beans against the side of the pot. You can also remove 2 cups of soup, blend it, and stir it back in. Both methods thicken naturally without changing the flavor. Alternatively, let the soup simmer uncovered for an extra 15–20 minutes to reduce.
Can I use canned beans instead of dried? Yes. Use about 6–7 cans (15 oz each) of mixed beans, drained and rinsed. Skip the soaking step. Add the beans in the last 45 minutes of cooking (they just need to absorb the flavors, not fully cook). The texture will be softer than dried beans but still really good.
Wrapping Up
15 Bean Soup is the kind of recipe that earns permanent rotation status. It’s inexpensive, filling, packed with nutrition, and somehow gets better every day it sits in the fridge.
Make a big pot on Sunday and you’ll have lunches and dinners handled for most of the week — with almost zero effort on the reheating end.
Give it a try and come back to drop a comment below. Tell me which variation you went with, whether you added the parmesan rind, and how it turned out. All questions welcome too. 👇