
This 3 bean chilli soup recipe delivers all the smoky, spicy comfort of a classic chilli—without any meat. The secret lies in a deep, aromatic base of onions, garlic, and cumin, simmered until the flavors meld into a rich, hearty broth that coats every bean.
I’ve perfected this version to be both vegetarian and packed with protein, using kidney, black, and pinto beans for maximum texture and flavor.
The beauty of this recipe is its one-pot simplicity—just chop, sauté, and simmer for about 45 minutes, letting the spices and beans develop their full depth. Smoked paprika adds that signature smokiness, while a splash of coconut milk (optional) rounds out the richness for a modern twist.
It’s the kind of soup that tastes even better the next day, making it ideal for meal prep.
By the time you’re done, you’ll have a hearty, satisfying bowl with tender beans, caramelized onions, and a thick, flavorful broth that’s perfect for chilly evenings. Top it with avocado, a dollop of sour cream, or fresh cilantro for a burst of freshness.
This isn’t just soup—it’s a restaurant-quality meal that’s easy to make at home.
Whether you’re feeding a crowd or saving leftovers for lunch, this recipe delivers bold, smoky, and deeply satisfying results every time. Let’s get cooking!
Ingredients for 3 bean chilli soup
Pantry staples plus a few fresh touches. Smoky, spicy, and packed with protein—this chilli is all about bold flavors.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Onions 🧅 | 1 ½ whole | Diced into small pieces |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic base |
| Ground Cumin 🌿 | 2 tbsp | Toasted for deeper flavor |
| Smoked Paprika 🌶️ | 2 tbsp | For signature smokiness |
| Dried Chili Flakes 🔥 | 1 tsp | Adjust for heat preference |
| Kidney Beans 🌱 | 1 cup | Dried or canned, drained |
| Black Beans 🌱 | 1 cup | Dried or canned, drained |
| Pinto Beans 🌱 | 1 cup | Dried or canned, drained |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Tomato Paste 🍅 | 2 tbsp | For rich, concentrated flavor |
| Coconut Milk 🥥 | ½ cup | Full-fat for creaminess |
| Sea Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Fresh Cilantro 🌿 | ¼ cup | Chopped for garnish |
| Avocado 🥑 | 1 whole | Sliced for serving |
The beans are the heart of this soup, so pick your favorite variety. I usually grab dried beans from the bulk section—they’re cheaper and more flavorful, but canned works in a pinch (just rinse them well). The kidney, black, and pinto mix gives you that perfect texture combo: creamy, firm, and tender. For the broth, low-sodium vegetable broth keeps the flavors balanced—no need to add extra salt. If you’re using dried beans, soak them overnight or use the quick-soak method (boil for 2 minutes, then let sit for an hour).
No smoked paprika? Regular paprika plus a pinch of liquid smoke gets you close. Short on coconut milk? Greek yogurt or cashew cream adds richness without the dairy. Fresh out of cilantro? Parsley works too, though it’s got a slightly different vibe. The avocado is totally optional but adds that creamy, fresh contrast—pick ripe ones for easy slicing. For extra depth, toast the cumin seeds in a dry pan for 30 seconds before grinding them. Trust me, it makes a difference.
This soup tastes even better the next day—flavors meld perfectly when it sits. Keeps for 5 days in the fridge, and freezes beautifully for up to 3 months. I like to double the batch and freeze half for lazy weeknights. To reheat, just warm on the stove with a splash of water or broth. The beans will soak up any extra liquid, so add it gradually. Garnish with extra cilantro, a drizzle of hot sauce, or a sprinkle of vegan cheese if you’re feeling fancy.
Why You’ll Love This Recipe
- One-Pot Magic: I swear by this recipe—just chop an onion, mince some garlic, and dump everything in one pot. No fancy steps, no last-minute scrambling for extra bowls.
- Smoky Depth in Minutes: That smoked paprika and cumin? They turn this soup into a flavor explosion without needing fancy ingredients. The chili flakes add just enough heat to make it unforgettable.
- Lunchbox Hero: Between us, this soup reheats like a dream and tastes even better the next day. Pack it for work or school—it’s hearty enough to keep you full, but simple enough to make ahead.
- Pantry Staple Power: Honestly, I keep these ingredients on hand just for this. A few beans, some spices, and a little oil—it’s my go-to when I’m broke or lazy. (Yes, even on a Tuesday night.)
Step-by-step instructions for 3 bean chilli soup
This one-pot wonder delivers smoky, hearty flavor with minimal effort—let’s make it.
Sauté Aromatics Until Fragrant
Heat a large Dutch oven or heavy pot over medium heat. Add the 1.5 whole yellow onions, diced into small pieces, and cook for 5-6 minutes until softened and translucent. You’ll see them release moisture and start to caramelize slightly at the edges—that’s when you know they’re ready.
Add the 4 cloves garlic cloves, minced, along with the 2 tablespoons ground cumin and 2 tablespoons smoked paprika. Stir constantly for 1-2 minutes until the garlic becomes fragrant and the spices bloom—this releases their essential oils and builds the soup’s deep, smoky foundation. Don’t let the spices burn; they’ll turn bitter if you walk away.
Build the Flavor Base
Stir in the 1 teaspoon dried chili flakes and cook for 30 seconds to toast them lightly. This adds a subtle heat without overwhelming the dish. Add the 2 tablespoons tomato paste and cook for another 1 minute, stirring constantly, until it darkens slightly and the raw taste disappears. This paste will deepen the soup’s rich, umami flavor.
Pour in the 4 cups vegetable broth and bring everything to a gentle simmer. Add the 1 cup kidney beans, 1 cup black beans, and 1 cup pinto beans (drained if using canned). If using dried beans, they’ll need to simmer for 45-60 minutes until tender. If using canned, they’ll cook through in about 10-15 minutes—just until heated through. Stir occasionally to prevent sticking.
Simmer and Season
Once the beans are tender, stir in the 1.5 teaspoons sea salt and 0.5 teaspoon black pepper. Taste the soup and adjust the seasoning if needed—this is where the magic happens. The salt should enhance the flavors without making the soup taste salty, and the pepper should add a subtle warmth that balances the smokiness.
Simmer the soup uncovered for 15-20 minutes to let the flavors meld and deepen. You’ll notice the aroma becomes more complex and inviting. If the soup gets too thick, add a splash of water or broth to reach your desired consistency. The beans should be fully tender, and the broth should coat the back of a spoon with a velvety texture.
Finish with Creaminess and Garnish
Reduce the heat to low and stir in the 0.5 cup coconut milk. This adds a luscious creaminess that balances the smoky, spicy flavors. Let the soup simmer for another 5 minutes to fully incorporate the coconut milk. The soup should now have a rich, velvety finish with a hint of tropical sweetness.
Ladle the soup into bowls and garnish with 0.25 cup chopped fresh cilantro. Serve with slices of the 1 whole avocado on the side or on top for a creamy, refreshing contrast. The avocado adds a bright, buttery element that cuts through the hearty, smoky soup. Enjoy immediately while the flavors are at their peak!
Pro Tips For Making 3 Bean Chilli Soup
- Sweat the Onions Low: I learned this the hard way—drowning onions in water to “soften” them fast just makes your chilli soup taste watery. Instead, cook them over medium-low heat for 8-10 minutes until they’re translucent and just starting to caramelize. That deep flavor is the foundation of the whole dish.
- Toast the Spices Right: Smoked paprika and cumin lose their punch if you just sprinkle them in. Heat them dry in the pot for 30 seconds until fragrant—you’ll smell it, trust me. This step makes the difference between a basic chilli and something that lingers on the tongue.
- Skip the Crowded Pot: Overfilling the pot with beans and broth leads to a sad, murky soup. Keep the liquid level high enough to just cover the beans, then simmer uncovered. You’re not making stew—let that broth reduce slightly so the flavors concentrate.
- Save Time with Par-Cooked Beans: I was skeptical until I tried it—using canned beans (drained and rinsed) cuts prep time by half, and the texture holds up just fine. If you’re using dried, soak them overnight, but don’t skip the final simmer: undercooked beans turn to mush in the long cook.
Pro cooking tips for this dish
Spice Toasting Secrets
Toast your cumin and chili flakes in a dry pan for 30 seconds before adding to the soup—this releases their essential oils and deepens their flavor profiles. I like to use a nonstick skillet on medium heat and stir constantly to prevent burning.
The moment they become fragrant, add them to the onions for maximum impact. 🌶️
Bean Prep Matters
If using dried beans, soak them overnight in water with a pinch of baking soda (about ¼ tsp per pound) to soften them faster. For canned beans, rinse thoroughly to remove excess sodium.
I always drain and rinse them twice to ensure the broth stays balanced. The texture difference is noticeable—tender but not mushy beans make all the difference.
Broth Boosting
For an extra-rich broth, deglaze the pot with 2 tbsp red wine after removing the onions. The alcohol will cook off, leaving behind concentrated flavors. Alternatively, add 1 tbsp soy sauce for umami depth.
Both tricks elevate the soup without overpowering it. Just remember to reduce the wine or soy sauce by half after adding it.
Coconut Milk Magic
Stir the coconut milk in off the heat to prevent curdling. If you notice any separation, whisk vigorously or add a splash of hot broth to re-emulsify. For a dairy-free option, I’ve used cashew cream (blend soaked cashews with water) with similar results.
The key is to let it sit for 5 minutes before serving to fully meld with the soup.
Onion Caramelization
Don’t rush the onion cooking time—let them caramelize for 5-6 minutes until golden brown at the edges. This step builds the soup’s sweet, rich foundation. If they stick, add a splash of broth or water to loosen them.
I use a wooden spoon to scrape up any browned bits from the bottom for extra flavor. 🧅
Garnish Like a Pro
Fresh cilantro adds brightness, but if you prefer a different herb, try parsley or green onions. For heat lovers, add pickled jalapeños or a squeeze of lime.
I like to serve the avocado on the side so everyone can add as much as they want—it keeps the soup from getting soggy. A sprinkle of vegan cheese or toasted pumpkin seeds adds texture too.
Nutrition facts
Frequently asked questions
Can I use all canned beans instead of dried?
Canned beans make this recipe faster—just drain and rinse them well to remove excess sodium. Use 15 ounces each of kidney, black, and pinto beans (about 4.5 cups total) for the same serving size. The soup will be ready in 30-40 minutes instead of 1 hour.
How can I make this soup spicier?
Double the chili flakes to 2 teaspoons and add ½ teaspoon cayenne pepper with the spices. For heat lovers, stir in 1 tablespoon hot sauce at the end or top with diced jalapeños. Always taste first—you can adjust, but you can’t take heat out!
Is this soup gluten-free?
Yes! Just ensure your vegetable broth is certified gluten-free and check that your smoked paprika and spices don’t contain wheat additives. The recipe itself is naturally gluten-free, but always verify labels—some brands process spices in shared facilities.
Can I make this in an Instant Pot?
Perfect for pressure cooking! Sauté the onions, garlic, and spices as directed, then add all remaining ingredients (including beans) and cook on high pressure for 12 minutes. Let the pressure release naturally for 10 minutes, then stir in coconut milk. The beans will be tender and the flavors concentrated—just check for doneness.
Why does my soup taste bland?
Most likely, the beans need more seasoning. Taste the broth first—if it’s bland, add ½ teaspoon more smoked paprika and ½ teaspoon salt. Let it simmer 5 more minutes to meld. For depth, stir in 1 teaspoon soy sauce or a splash of red wine (reduced first). The beans absorb flavor, so season gradually!
- 3 Cheese Pimento Cheese Recipe: Sharp Cheddar, Peppery Heat, and Creamy Spread Magic - October 10, 2026
- 7 Egg Cake Recipe: Fluffy Layers With Vanilla Bean Infusion - October 10, 2026
- 3 Musketeers Cookie Recipe: Crunchy Chocolate Shells With Gooey Caramel Centers - October 10, 2026