Soups & Stews
This bean and mushroom soup recipe delivers earthy umami depth with a crispy celery crown that transforms a simple bowl into something extraordinary. The secret lies in proper mushroom sautéing and celery roasting—techniques that elevate humble ingredients into a restaurant-worthy dish.
I've perfected this over years of testing, ensuring every spoonful balances hearty texture with rich, savory flavors.
The foundation starts with caramelized mushrooms and onions, which build a flavor base that simmers into a velvety broth. White beans add protein and creaminess, while garlic and thyme deepen the aroma.
What sets this apart is the crispy celery crown—roasted until golden and tender, it adds a satisfying crunch that contrasts beautifully with the soup's silky texture.
What you'll end up with is a vegan soup that's rich yet light, packed with umami from mushrooms and depth from slow-simmered vegetables. The crispy celery crown isn't just decoration—it's the perfect textural contrast that makes every bite exciting.
This recipe proves that plant-based meals can be just as hearty and satisfying as traditional soups.
Perfect for chilly evenings or meal prep, this soup keeps well for up to five days in the fridge. The crispy celery crown can be made ahead and reheated briefly to maintain its crunch.
Whether you prefer it creamy or broth-based, this recipe adapts easily to your taste while delivering professional-quality results every time.
Ingredients for bean and mushroom soup
Earthy umami meets crispy texture—this soup delivers restaurant-quality depth with minimal fuss.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried White Cannellini Beans 🌱 | 1 ½ cups | Unsoaked, or 1 can (15 oz) drained |
| Cremini Mushrooms 🍄 | 1 ½ lb | Sliced into 1/4-inch pieces |
| Yellow Onion 🧅 | 1 whole | Diced, yellow or red |
| Celery Stalks 🥬 | 4 whole | For crowns and broth (3 stalks chopped) |
| Garlic Cloves 🧄 | 5 cloves | Minced, fresh preferred |
| Fresh Thyme Sprigs 🌿 | 2 whole | Leaves only, stems removed |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred, homemade or store-bought |
| Extra-Virgin Olive Oil 🫒 | ½ cup | For sautéing mushrooms and celery |
| Tomato Paste 🍅 | 2 tbsp | Smooth, not chunky |
| White Wine 🍷 | ½ cup | Dry, like Sauvignon Blanc |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Smoked Paprika 🌶️ | 1 tsp | For depth, not heat |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly cracked |
| Sea Salt 🧂 | 1 ½ tsp | Kosher or fine grain |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
The mushrooms are non-negotiable for that deep umami flavor. Cremini or shiitake work best—avoid button mushrooms, which lack complexity. For the celery crowns, choose fresh, crisp stalks with vibrant green tops; yellowing means they're past their prime. Trader Joe's and Whole Foods carry excellent organic options. If using dried beans, soak overnight, but the unsoaked method (simmered directly) saves time. For the vegetable broth, Imagine or Pacific Foods brands deliver consistent quality without excess sodium.
No white wine? Substitute extra vegetable broth and add a splash of apple cider vinegar for acidity. Fresh thyme unavailable? Dried works at one-third the amount, but toast it first in a dry pan for 30 seconds to deepen its flavor. The tomato paste can be swapped for 1/4 cup crushed tomatoes if you prefer chunkier texture. For the celery crowns, leave the leaves intact and roast them whole—they'll crisp beautifully and add visual appeal. If you're short on time, pre-chopped mushrooms from the store work fine, though fresh is always better.
This soup improves overnight—flavors meld beautifully when refrigerated. Store in airtight containers for up to 5 days, or freeze portions for 3 months. The crispy celery crowns should be reheated separately for 1-2 minutes in a dry pan to restore their crunch. For meal prep, double the batch and freeze half—just thaw and reheat for a quick, hearty meal. The broth reduces slightly upon reheating, so add a splash of water if needed to restore consistency.
Why You'll Love This Recipe
- No-Soaking Needed: Soaking beans feels like a chore? Not here. I just toss the dried cannellinis in cold water overnight—they soften perfectly without extra effort. The mushrooms and celery practically cook themselves while the beans simmer, so you’re stirring, not stressing.
- Umami Bomb: That first bite of earthy cremini mushrooms and garlic? Chef’s kiss. The mushrooms soak up the broth like a sponge, while the cannellinis add a creamy, meaty texture. Honestly, it’s the kind of flavor that makes you pause mid-sip of wine and say, “Wait, how long has this been cooking?”
- Lunchbox Hero: Between us, this soup is my meal-prep MVP. I make a big batch on Sundays, and by Wednesday, I’m still eating it—over rice, with crusty bread, or straight from the pot. The onions and celery hold up for days, and the beans just get better as they absorb more flavor. (Yes, even on a Tuesday night.)
- Pantry Staple Power: I swear by this recipe when my wallet’s tight or the fridge is bare. Cannellinis and mushrooms are cheap, and the onion/celery/garlic base stretches into multiple meals. Leftovers? Freeze half for another week—no one will guess it’s not fresh. Budget-friendly doesn’t mean boring, and this proves it.
Step-by-step instructions for earthy umami bean and mushroom soup
Transform simple ingredients into a rich, layered soup with deep umami flavors and crispy celery crowns.
🍳 Step 1: Develop the Mushroom Base with Deep Umami
Heat the 0.5 cup extra-virgin olive oil in a large Dutch oven over medium heat until shimmering. Add the 1.5 lb sliced cremini mushrooms and cook undisturbed for 8-10 minutes until they release their moisture and develop golden brown spots. This slow cook time allows the mushrooms to break down and develop their rich, earthy flavors.
Stir in the 1 whole diced yellow onion and 3 chopped celery stalks (reserve the remaining celery crowns for garnish). Cook for another 5-6 minutes until the onions soften and become translucent. The vegetables should be tender but not browned—this ensures they'll blend seamlessly into the soup without adding bitterness.
🍳 Step 2: Build Complexity with Aromatics and Wine Reduction
Add the 5 minced garlic cloves and 1 tsp smoked paprika to the pot, stirring for 30 seconds until fragrant. The paprika adds subtle depth without overpowering the dish. Immediately pour in the 0.5 cup dry white wine and scrape up any browned bits from the bottom of the pot—this deglazing step captures concentrated flavors that would otherwise burn.
Simmer the mixture for 3-4 minutes until the wine reduces by half and the liquid takes on a glossy sheen. This reduction intensifies the wine's acidity and prepares the base for the tomato paste. Stir in the 2 tbsp tomato paste and cook for another 1 minute to develop its caramelized flavors before adding any liquid.
🥘 Step 3: Create the Soup Foundation with Beans and Broth
Pour in the 4 cups vegetable broth and bring the mixture to a gentle boil. Add the 1.5 cups dried white cannellini beans (or drained canned beans) along with the 1.5 tsp sea salt, 0.5 tsp ground black pepper, and thyme leaves from the 2 sprigs. Reduce heat to low and let it simmer for 30-40 minutes until the beans are tender but still hold their shape.
Here's the thing—don't rush this step. The beans need time to absorb the flavors and become properly tender. You'll know they're ready when they're easily crushed between your fingers but still maintain some texture. The soup should have a velvety consistency with visible bean pieces distributed throughout.
🔥 Step 4: Finish with Brightness and Crispy Garnish
Remove the pot from heat and stir in the 1 tbsp freshly squeezed lemon juice. This final acidity cuts through the richness of the mushrooms and beans, balancing the flavors. Taste and adjust seasoning if needed—you might need a touch more salt or pepper depending on your broth.
For the crispy celery crowns, heat 1 tbsp olive oil in a small skillet over high heat until smoking. Add the reserved celery crowns in a single layer and cook for 2-3 minutes per side until deeply golden brown and crispy. The high heat is crucial here—it creates the perfect contrast to the creamy soup.
🍽️ Step 5: Serve with Crispy Contrast and Fresh Parsley
Ladle the soup into bowls, dividing the crispy celery crowns among them. The temperature contrast between the warm soup and cool celery creates an exciting textural experience with every bite. Garnish each serving with 1 tablespoon chopped fresh parsley and an additional sprinkle of black pepper for visual appeal and freshness.
Serve immediately while the celery crowns maintain their crispness. Each spoonful should deliver layers of umami from the mushrooms, earthy notes from the celery and onions, and bright acidity from the lemon. The crispy celery crowns add a satisfying crunch that elevates the entire dish from simple to extraordinary.
Pro Tips For Making Bean And Mushroom Soup
- SOAK BEANS OVERNIGHT: I learned this the hard way—rushing the soak leaves cannellini beans tough no matter how long you simmer. Toss them in cold water with a pinch of baking soda (yes, really) and let them sit 12+ hours. The texture difference is night and day, and you’ll skip the 2-hour pre-soak panic later.
- SAUTÉ MUSHROOMS LOW: Cremini mushrooms release their meaty juices fast, and high heat turns them to mush. Cook them on medium-low for 8-10 minutes until golden, stirring occasionally. If they’re crowded, spread them out—even if it looks messy, they’ll caramelize properly and not turn to paste.
- SWAP CELERY FOR STALKS: Skip the celery leaves unless you’re using them for garnish—they’re bitter and overpower the soup. Just slice the stalks into ¼-inch pieces and chop the onion similarly for even cooking. Your future self will thank you for not dealing with a bitter aftertaste.
- SIMMER BEANS UNTIL TENDER: Cannellini beans need to be actually soft—not just slightly firm. Test one after 1.5 hours; if it’s still chewy, keep simmering. The soup’s flavor deepens with time, and mushy beans are better than undercooked ones. (I know, I know—you want to rush, but trust the process.)
Creative variations of these flavors
Creamy vs. Broth-Based
For a creamy texture, stir in ½ cup coconut milk or ¼ cup cashew cream at the end—just before serving. The richness pairs beautifully with the earthy mushrooms. I like to add it after simmering so the soup doesn't become too thick.
For a lighter broth-based version, skip any thickeners and let the beans' natural creaminess shine through the vegetable broth. 🥄
Global Umami Twists
Add 1 tsp miso paste for Japanese-inspired depth, or swap smoked paprika for ½ tsp Chinese five-spice for an Asian fusion. For Mediterranean flair, stir in 1 tbsp capers and top with toasted pine nuts. These variations keep the same base techniques while introducing exciting new flavor profiles. 🌍
Spicy Heat Variations
For mild heat, add ½ tsp cayenne when sautéing mushrooms. For fiery kick, stir in 1 tbsp gochujang (Korean chili paste) with the tomato paste. I recommend balancing heat with extra lemon juice to brighten the dish. 🌶️
Protein-Packed Additions
Boost nutrition with ½ cup lentils (simmered with beans) or 1 cup chickpeas (for extra crunch). For meat lovers, add ½ lb shredded rotisserie chicken at the end—it soaks up the flavors beautifully. These additions work especially well if you're serving the soup as a main dish. 💪
Vegetable Swaps
Replace celery with leeks for a milder flavor or fennel for an anise-like sweetness. Swap mushrooms for hearts of palm (for texture) or portobello slices (for meatier bites). Each variation changes the soup's character while maintaining the same cooking approach. 🥕
Herb & Spice Rotations
Swap thyme for rosemary (toasted first) or tarragon for a French-inspired twist. Add 1 bay leaf while simmering for extra depth, then remove before serving. Fresh herbs like cilantro or basil** work beautifully as garnishes for different flavor profiles. 🌿
Nutrition facts
Frequently asked questions
Can I make this bean and mushroom soup with canned beans instead of dried?
Use 1 can (15 oz) drained cannellini beans instead of dried. Just reduce the vegetable broth by ½ cup since canned beans contain more liquid. The soup will still simmer for 20-25 minutes to let flavors meld—no need to cook the beans separately.
How do I make the soup creamier without dairy?
Blend ½ cup of the soup with ¼ cup coconut milk or cashew cream until smooth, then stir it back in. For extra richness, mash ¼ of the cooked beans directly in the pot—this adds natural creaminess while keeping it vegan.
What if I don't have white wine for deglazing?
Use ½ cup extra vegetable broth + 1 tbsp apple cider vinegar to mimic the wine's acidity and depth. For a different twist, try ½ cup mushroom broth (made by simmering extra mushrooms in water) or even dry sherry if you prefer a sweeter note. The key is acidity—just don't skip it!
Can I prep this soup ahead of time?
Yes! Make the soup 1-2 days ahead—it tastes even better as flavors develop. Store in an airtight container in the fridge. Reheat gently on the stove, adding 2-3 tbsp water if too thick. Make crispy celery crowns fresh before serving to maintain their crunch.
Why did my mushrooms turn bitter?
Overcooking mushrooms releases bitterness. Keep heat at medium and cook undisturbed for 8-10 minutes—stirring too soon releases moisture that steams (not sautés) them. For extra flavor, add 1 tsp soy sauce when sautéing. Fresh mushrooms are key—avoid pre-sliced varieties that oxidize faster.
