Soups & Stews
This vegan 12-bean soup transforms pantry staples into a deeply satisfying, protein-packed meal that rivals traditional versions. The secret lies in balancing twelve different beans—black, kidney, and pinto—for a symphony of textures and flavors, all simmered into a rich, hearty broth without a single drop of meat. I developed this recipe during a particularly chilly winter when I needed a dish that could feed a crowd while keeping costs low and ingredients simple.
The beauty of this soup is its foolproof simplicity—no fancy techniques required, just a slow simmer that lets flavors meld beautifully. You’ll start by soaking the beans overnight (or using a pressure cooker for a quicker version), then build layers of depth with aromatic vegetables, warm spices, and a touch of smoky chipotle for complexity. The result is a soup that’s creamy from coconut milk, hearty from the beans, and packed with plant-based protein to keep everyone full and satisfied.
What you’ll end up with is a restaurant-quality bowl of soup that’s perfect for meal prep, potlucks, or cozy weeknight dinners. Each spoonful delivers a mix of tender beans, caramelized onions, and a broth so flavorful it’ll have everyone asking for seconds. The best part? It tastes even better the next day, making it ideal for batch cooking and storing for up to five days in the fridge.
Whether you’re serving this as a main dish or a side to complement grilled vegetables, the versatility of this recipe makes it a staple in any kitchen. Let’s get started—your pantry is about to become the star of the meal.
Ingredients for 12 bean soup recipe vegan
Pantry staples meet restaurant-quality flavor in this protein-packed vegan 12-bean wonder.
| Ingredient | Amount | Notes |
|---|---|---|
| Black Beans 🌱 | 1 cup | Dried, soaked overnight |
| Kidney Beans 🌱 | 1 cup | Dried, soaked overnight |
| Pinto Beans 🌱 | 1 cup | Dried, soaked overnight |
| Navy Beans 🌱 | 1 cup | Dried, soaked overnight |
| Great Northern Beans 🌱 | ½ cup | Dried, soaked overnight |
| Cannellini Beans 🌱 | ½ cup | Dried, soaked overnight |
| Chickpeas 🌱 | ½ cup | Dried, soaked overnight |
| Lentils 🌱 | ½ cup | Green or brown, dried |
| Split Peas 🌱 | ½ cup | Dried, yellow or green |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz (400 ml) |
| Yellow Onions 🧅 | 2 whole | Yellow or red, diced |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Carrots 🥕 | 3 whole | Medium, diced |
| Celery Stalks 🌿 | 3 whole | Medium, chopped |
| Tomato Paste 🍅 | ½ cup | No sugar added |
| Vegetable Broth 💧 | 6 cups | Low-sodium preferred |
| Smoked Paprika 🌶️ | 1 tbsp | For smoky depth |
| Ground Cumin 🌿 | 1 tsp | Toasted for warmth |
| Dried Thyme 🌿 | 1 tsp | Or 0.25 cup fresh |
| Bay Leaves 🌿 | 2 whole | For aromatic base |
| Salt 🧂 | 1 ½ tsp | Sea salt, adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Chipotle Peppers in Adobo 🔥 | 1 tbsp | Minced, for smoky heat |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
The beans are the heart of this soup, so don't skimp on variety. Bob's Red Mill or Trader Joe's bulk bins have great options, but any dried beans work—just make sure they're not pre-cooked. Soaking overnight is key for tender texture, but pressure cookers cut that time to just 30 minutes. I usually grab a mix of black, kidney, and pinto from the bulk section, then add smaller amounts of the others to keep costs down. The coconut milk can should be full-fat for that creamy richness—none of that light stuff here.
No smoked paprika? Regular paprika plus a pinch of liquid smoke gets you close. Fresh thyme? Use dried at one-third the amount. The chipotle peppers in adobo are a game-changer for that smoky depth—Trader Joe's has them canned and ready to go. Short on time? Canned beans work in a pinch (rinse well), but dried gives you that superior texture. The vegetable broth matters—low-sodium so you can control the saltiness, and Better Than Bouillon is my go-to for quick batches. For extra richness, stir in a spoonful of tahini at the end—trust me, it's magical.
This soup tastes even better the next day as flavors meld. Keeps for 5 days in the fridge, or 3 months frozen. I always make double batches—portion into containers so lunches are sorted for the week. The beans thicken as they cool, so add a splash of broth if it gets too thick when reheating. Garnish with fresh parsley right before serving—brightens everything up.
Why You'll Love This Recipe
- No-Can-Do Mistakes: I swear by the pantry version—just toss in dried beans (soaked overnight) and let them simmer. No fancy prep, no last-minute store runs. That slow cooker magic turns tough beans into melt-in-your-mouth texture while you’re out running errands.
- Umami Bomb: Between the smoky kidney beans, the earthy pinto, and a splash of soy sauce or miso, this isn’t just vegan—it’s a flavor explosion. The Great Northerns soak up the broth like little flavor sponges, and honestly? That deep, savory punch hits different.
- Potluck Hero: Bring this to a gathering, and you’ll be the MVP. It’s hearty enough for a chilly Sunday brunch but still light for a summer picnic. Plus, no one will guess it’s vegan—just pure, satisfying bean goodness.
- Budget Magic: A single batch feeds my family for days, and dried beans cost pennies compared to canned. Freeze leftovers in portions, and you’ve got a year’s worth of cheap, filling lunches. My wallet and my freezer both thank me.
Step-by-step instructions for 12 bean soup
Here's how to transform pantry staples into a rich, protein-packed vegan soup that's heartier than any meat-based version.
Soak and Prepare All Beans
Start by thoroughly rinsing all the dried beans—1 cup black beans, 1 cup kidney beans, 1 cup pinto beans, 1 cup navy beans, 0.5 cup great northern beans, 0.5 cup cannellini beans, 0.5 cup chickpeas, 0.5 cup lentils, and 0.5 cup split peas—under cold water in a colander. This removes any debris and helps them absorb water more evenly.
Place each type of bean in separate bowls and cover with plenty of cold water (about 3 inches above the beans). Let them soak overnight—at least 8 hours—or for 4 hours if using the quick-soak method (bring to a boil for 2 minutes, then let sit off heat). The beans should double in size and feel tender when pressed between your fingers. Drain and rinse before using.
Sauté the Aromatic Base
In a large pot with a tight-fitting lid, heat 1 tablespoon olive oil over medium heat. Add the 2 diced yellow onions and cook for 5 minutes until they become translucent and just start to soften. Toss in the 3 diced carrots and 3 chopped celery stalks, cooking for another 5 minutes until they begin to release their natural juices.
Stir in the 4 minced garlic cloves and cook for 30 seconds until fragrant—this is where the soup builds its deep, savory foundation. Add 1 tablespoon smoked paprika, 1 teaspoon ground cumin, 1 teaspoon dried thyme, 2 bay leaves, 1.5 teaspoons salt, and 0.5 teaspoon black pepper, stirring constantly for 30 seconds to toast the spices and release their aromas. This step is what gives the soup its complex, smoky flavor.
Simmer the Beans and Vegetables
Pour in the drained beans, 0.5 cup tomato paste, and 6 cups vegetable broth. Bring the mixture to a boil over high heat, then immediately reduce to low heat, cover, and let it simmer gently for 45-60 minutes. Stir occasionally to prevent sticking—you'll notice the beans softening and the broth turning rich and golden.
Here's the thing—don't rush this step. The beans need time to break down and absorb all those flavors. You'll know they're ready when most of the beans can be mashed slightly between your fingers with just a little resistance. If the soup gets too thick, add ½ cup water at a time to maintain a spoonable consistency.
Add Coconut Milk and Finish
After the beans have softened, stir in the 1 can coconut milk and 1 tablespoon minced chipotle peppers in adobo. The coconut milk adds a luxurious creaminess that balances the earthy bean flavors, while the chipotle brings just the right amount of smoky heat. Let the soup simmer uncovered for another 10 minutes to let the flavors meld together.
Taste and adjust seasoning—you might need a bit more salt or a splash of lemon juice to brighten the flavors. Remove the bay leaves before serving, as they can be bitter if eaten. The soup should be hearty but still have a satisfying texture—some beans should hold their shape while others break down, creating an interesting mouthfeel.
Serve Warm with Fresh Garnish
Ladle the soup into bowls and garnish each serving with 1 tablespoon chopped fresh parsley. The parsley adds a fresh, bright contrast to the rich, smoky flavors. Serve immediately with crusty bread or over a bed of rice to soak up every last drop of that creamy, flavorful broth.
This soup tastes even better the next day as the flavors continue to develop, so make extra if you can. Store leftovers in the refrigerator for up to 5 days or freeze for 3 months. It's the kind of dish that gets better with time, making it perfect for meal prep or feeding a crowd.
Pro Tips For Making 12 Bean Soup Recipe Vegan
- SOAK BEANS OVERNIGHT: I learned this the hard way—rushing beans with just a quick boil leaves them tough. Navy and Great Northern beans need 8+ hours in water (or 2 hours in hot water) to soften properly, while black and kidney beans benefit from it too. Use two separate bowls if short on space, but don’t skip this for the "harder" beans—they’ll stay chalky otherwise.
- SIMMER LOW AND LONG: After burning my first batch by boiling too fast, I now keep the heat at a gentle simmer (barely bubbles) for 2-3 hours. Pinto and black beans break down faster—check them at the 1.5-hour mark. If the soup reduces too much, add a splash of broth or water, but never let it boil hard again.
- SKIP THE SALT EARLY: My grandmother swore by this, and she was right: Adding salt to beans before they’re fully cooked makes them tough. Wait until the beans are tender (about 45 minutes in), then season with salt and a splash of vinegar (1 tablespoon per pot)—this cuts through the beany flavor without overpowering.
- USE TWO POTS FOR EVEN COOKING: Sounds weird, but it works: Split the beans between two pots if yours is deep but narrow. Crowding beans in one pot means the center stays undercooked while the edges turn mushy. Navy and Great Northern beans especially benefit—this guarantees consistent doneness without splitting any. (Yes, even if you’re impatient like me.)
Perfect pairings for this dish
Crusty Bread Pairing
A warm, crusty loaf of sourdough or ciabatta is my go-to pairing—its chewy texture soaks up the creamy coconut milk and rich bean broth perfectly. I love using Artisan Baking Co. sourdough from the grocery store or a no-knead bread I bake myself on weekends. For extra flavor, brush the bread with garlic-infused olive oil before serving. 🥖
Creamy Cornbread
For a Southern-inspired twist, serve this soup alongside vegan cornbread made with cornmeal, almond milk, and maple syrup. The slight sweetness complements the smoky, earthy beans beautifully. I use Bob's Red Mill fine cornmeal for a tender crumb. A small batch (about 8 servings) pairs perfectly with this hearty soup.
Fresh Greens Salad
A bright arugula or kale salad with lemon-tahini dressing cuts through the richness of the beans. Toss 4 cups baby greens with 2 tbsp tahini, 1 tbsp lemon juice, 1 tsp maple syrup, and a pinch of sea salt. Top with toasted pumpkin seeds for crunch. The acidity balances the soup's depth wonderfully. 🥗
Avocado & Lime Slices
Add a refreshing contrast with ripe avocado slices drizzled with lime juice and a sprinkle of chili powder. The cool, creamy avocado pairs beautifully with the warm, smoky soup. I like to serve it on the side or even folded into individual bowls for an extra touch of elegance.
Spicy Pickled Onions
Quick-pickled red onions add a tangy crunch that elevates every spoonful. Thinly slice 1 red onion, soak in ½ cup apple cider vinegar, 1 tsp sugar, and ½ tsp red pepper flakes for 15 minutes. Drain and serve on top of the soup. The bright acidity cuts through the richness, making each bite more dynamic. 🌶️
Warm Tortilla Wedges
For a Tex-Mex-inspired pairing, serve with warm flour tortilla wedges lightly brushed with vegetable oil and sprinkled with smoked paprika. The slight crispiness contrasts the soup's creamy texture while adding a fun, interactive element. I like to toast them in a cast-iron skillet until golden for extra flavor. 🌯
Nutrition facts
Frequently asked questions
Can I use canned beans instead of dried for this vegan bean soup?
Yes, but with a few adjustments! Use 3 cups total of canned beans (drained and rinsed) instead of the dried versions. For best texture, mix varieties like black, kidney, and chickpeas. Since canned beans are pre-cooked, reduce the simmering time to 20-30 minutes after adding them to the pot. The soup will be ready faster, but you might want to add ½ cup extra broth to maintain consistency.
Why does my vegan bean soup taste bland after simmering?
This usually happens from insufficient seasoning or not toasting the spices properly. Start by blooming your spices (smoked paprika, cumin, thyme) in oil for 30 seconds before adding liquids—this releases their full flavor. Taste as you go and adjust with salt, lemon juice, or a pinch of miso paste for umami depth. The coconut milk should be full-fat for creaminess, and don't forget the chipotle peppers for smoky heat.
How do I make this vegan bean soup in an Instant Pot?
Use the pressure cooker setting for a faster version! Sauté onions, carrots, celery, and garlic as directed, then add all beans, broth, tomato paste, and spices. Cook on high pressure for 15 minutes, then quick-release. Stir in coconut milk and chipotle, letting it sit for 10 minutes off-pressure. The beans will be tender but still hold their shape—perfect for a quick, hearty meal.
What’s the best way to store and reheat leftovers?
Store in an airtight container in the fridge for up to 5 days or freeze for 3 months. To reheat, warm on the stovetop over medium-low heat with ½ cup water or broth to loosen the thickened texture. For microwave reheating, cover and heat in 1-minute intervals, stirring between each. The flavors actually improve overnight, making it perfect for meal prep!
Can I make this soup gluten-free or nut-free?
This recipe is naturally gluten-free and nut-free as written. For extra safety, check your smoked paprika and vegetable broth labels to ensure no cross-contamination. The coconut milk can be swapped for oat milk or soy milk if avoiding coconut, though it will be slightly less creamy. All the beans and spices are inherently gluten-free and nut-free, making this an inclusive recipe for most dietary needs.
