Main Courses
This vegetarian bean cassoulet recipe brings the heart of French countryside cooking to your kitchen with its crispy breadcrumb topping and rich, savory layers. The slow-baked tradition transforms humble ingredients—white beans, mushrooms, and aromatic herbs—into a dish so satisfying it feels like a homecoming.
I’ve adapted the classic technique to highlight plant-based richness while keeping that signature golden crust intact.
The secret lies in proper layering: tender beans and mushrooms form the base, while a lattice of toasted breadcrumbs creates that coveted crispy finish. A slow bake in the oven develops deep, caramelized flavors that make every bite worth the wait.
This isn’t just a vegetarian dish—it’s a restaurant-quality centerpiece that proves comfort food can be elevated without meat.
By the time it emerges from the oven, you’ll have a dish with a crispy crust that shatters under gentle pressure, revealing layers of velvety beans and earthy mushrooms beneath.
The aroma alone—warm herbs, toasted breadcrumbs, and slow-simmered broth—will have everyone gathered around the table. It’s the kind of meal that turns a simple dinner into an event.
Serve with a crisp green salad or crusty baguette to soak up every last bit of the rich, herby broth. The leftovers? Even better the next day, as flavors meld into deeper harmony. Let’s bring this French tradition to your kitchen—slow, satisfying, and utterly delicious.
Ingredients for bean cassoulet
Sixteen ingredients transform into a restaurant-quality cassoulet with crispy crust and velvety layers.
| Ingredient | Amount | Notes |
|---|---|---|
| Great Northern White Beans 🌱 | 2 ½ cups | Dried, soaked overnight |
| Cream of Mushroom Soup 🍄 | 2 cups | Condensed, unsalted |
| Cremini Mushrooms 🍄 | 1 ½ lb | Sliced, stems removed |
| Shallots 🧅 | 3 whole | Minced, finely chopped |
| Garlic Cloves 🧄 | 6 cloves | Peeled, minced |
| Dry White Wine 🍷 | 1 cup | Sauvignon Blanc preferred |
| Vegetable Broth 💧 | 2 cups | Low-sodium preferred |
| Fresh Thyme 🌿 | 1 tbsp | Leaves only, chopped |
| Fresh Rosemary 🌿 | 1 tbsp | Leaves only, chopped |
| Bay Leaves 🍃 | 2 whole | Dried, crumbled |
| Baguette 🍞 | 1 whole | Stale or day-old |
| Extra-Virgin Olive Oil 🫒 | ½ cup | For toasting breadcrumbs |
| Parmesan Cheese 🧀 | ½ cup | Freshly grated, fine |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal kosher |
| Freshly Ground Black Pepper 🌶️ | 1 tsp | None |
The beans are the heart of this dish—Great Northern white beans hold their shape beautifully while soaking up the rich flavors. Soak them overnight in plenty of water (discard the soaking liquid), and if you're short on time, Trader Joe's sells pre-soaked canned beans that work in a pinch. For mushrooms, cremini gives the best meaty texture, but shiitake or oyster mushrooms add even more depth. The shallots and garlic? Freshly minced makes all the difference—pre-minced from jars tastes flat in comparison. I always grab my shallots from the Whole Foods bulk section, where they're consistently fresh and vibrant.
No white wine? Dry vermouth or extra vegetable broth works just as well—just add an extra splash of lemon juice for brightness. The cream of mushroom soup is non-negotiable for that classic cassoulet richness, but if you're avoiding dairy, cashew cream blended with nutritional yeast gives a similar velvety texture. For the herbs, fresh thyme and rosemary are ideal, but dried works at one-third the amount if that's what you've got. The baguette? Stale is better—it toasts up beautifully, but if you're fresh out, toss it in the oven at 350°F for 10 minutes to dry it out first. And for the Parmesan, grate it yourself—pre-grated clumps up and ruins the crispy texture.
This cassoulet tastes even better the next day, so make a double batch if you can. Store leftovers in an airtight container for up to 5 days in the fridge, or freeze portions for 3 months. The crust stays crispy if you reheat it covered at 350°F for 15-20 minutes. For serving, I like to garnish with extra fresh herbs and a drizzle of high-quality extra-virgin olive oil—it elevates the dish instantly. The breadcrumbs can be prepped ahead and toasted in the oven at 375°F for 10 minutes before assembling, which cuts down on last-minute work.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe for days I can’t be bothered with a million dishes—just toss everything into one pot, simmer, and walk away. The Great Northern beans soften perfectly while the cream of mushroom soup thickens into a luscious blanket over the mushrooms and shallots, no extra bowls needed.
- Umami Bomb: Between us, that can of cream of mushroom soup is where the flavor really lives. The mushrooms add this deep, earthy richness, while the shallots and garlic cloves caramelize just enough to give it that irresistible sweetness. It’s the kind of dish that makes you reach for seconds without even thinking.
- Leftovers That Shine: This recipe actually improves the next day—honestly, the flavors meld better, and the texture gets even creamier. I make a double batch on Sundays because it’s my go-to for lunches, potlucks, or when I need to feed a crowd without stressing over presentation.
- Budget-Buster Flex: Great Northern beans and cremini mushrooms are my pantry’s secret weapons—affordable, shelf-stable, and packed with protein. This cassoulet stretches easily for four servings, and the soup base cuts costs while adding serious depth. It’s the kind of meal that makes grocery day feel like a win.
Step-by-step instructions for bean cassoulet
Here's how to build this French classic with a golden, crackling crust and hearty bean filling.
Prepare the Bean Filling
Drain the soaked great northern white beans and place them in a large pot with the 2 cups of cream of mushroom soup, 1 cup of dry white wine, 2 cups of vegetable broth, 1.5 teaspoons of salt, and 1 teaspoon of freshly ground black pepper. Bring to a gentle simmer over medium heat and cook for 30-40 minutes until the beans are tender but not mushy—you should still see some bite when you taste them.
While the beans cook, finely chop the 3 whole shallots and 6 cloves of garlic. Add them to the pot along with the 1 tablespoon of fresh thyme and 1 tablespoon of fresh rosemary. Stir gently and let the aromatics infuse for the last 10 minutes of cooking. The filling should be thick and flavorful, with a consistency similar to thick stew.
Sauté the Mushrooms and Assemble the Base
Heat 0.25 cup of the extra-virgin olive oil in a large oven-safe Dutch oven over medium-high heat. Add the 1.5 pounds of sliced cremini mushrooms and cook for 8-10 minutes until they release their moisture and develop a deep golden color. Remove the mushrooms from the pot and set them aside.
Reduce the heat to medium and add the remaining 0.25 cup of olive oil. Toss in the shallot and garlic mixture from the beans and cook for 2-3 minutes until fragrant. Stir in the 2 crumbled bay leaves and let them toast briefly for 30 seconds—this deepens their earthy flavor. Pour the bean mixture into the pot and stir to combine everything. The mixture should coat the back of a spoon but remain loose enough to settle.
Build the Crispy Topping
Tear the 1 whole baguette into rough chunks and pulse them in a food processor until you have coarse breadcrumbs—think 1/4-inch texture. Spread these evenly over the bean mixture in the Dutch oven, pressing down gently to create an even layer. Drizzle the 0.5 cup of extra-virgin olive oil evenly over the breadcrumbs and sprinkle the 0.5 cup of freshly grated parmesan cheese on top.
Here's the trick to that perfect crispy crust: Use the back of a spoon to press down firmly on the breadcrumb mixture, creating an even, compacted surface. This ensures even browning and a sturdy top that won't collapse when you cut into it. The breadcrumbs should look golden and inviting, not patchy.
Bake to Golden Perfection
Preheat your oven to 375°F. Place the Dutch oven on the middle rack and bake for 30-35 minutes until the breadcrumb topping is deep golden brown and crispy to the touch. The edges should pull away slightly from the pot, and you should hear a satisfying crackle when you tap the top.
Don't be tempted to peek or open the oven door during baking—this releases steam and can cause the topping to soften. If the top isn't brown enough after 35 minutes, increase the oven temperature to 400°F and bake for another 5-10 minutes. The beans should be heated through and the mushrooms should be tender with any liquid absorbed.
Rest and Serve
Remove the cassoulet from the oven and let it rest for 10 minutes before serving. This resting period allows the filling to set slightly and makes it easier to slice through the crispy topping. Use a large, sharp knife to cut through the crust and into the bean filling, creating clean wedges for serving.
Serve immediately while the topping is still crispy. The contrast between the golden, crackling crust and the rich, herby bean filling is what makes this dish truly special. Pair with a simple green salad and a glass of the same dry white wine you used in the recipe—it's the perfect complement to the earthy flavors.
Pro Tips For Making Bean Cassoulet
- SOAK BEANS OVERNIGHT: I learned this the hard way—rushing the soak leaves beans tough and gummy. Great Northerns need at least 8 hours in cold water (or a 2-hour quick soak in boiling water) to soften properly. Drain and rinse them well before cooking, or the cassoulet will taste bland from excess starch.
- SAUTÉ SHALLOTS LOW: Skip the high heat—it burns them before they soften. Cook shallots in butter over medium-low for 8-10 minutes until golden and translucent, stirring occasionally. This builds flavor without bitterness, which is especially important since they’re the base for your mushroom soup.
- SKIP THE MUSHROOM SOUP SHORTCUT: Homemade mushroom duxelles (finely chopped cremini mushrooms, shallots, garlic, and a splash of white wine) tastes nothing like canned soup. If you’re short on time, at least sauté the soup’s ingredients separately—just mushrooms, shallots, and garlic in butter—then stir in the canned soup at the end for depth.
- CRUST THE TOP RIGHT: After baking, broil the cassoulet for 3-5 minutes to get a golden crust. Cover loosely with foil first, then uncover just before the end—this traps moisture while browning the surface. The crust is what makes it feel restaurant-worthy, not just a casserole.
Common mistakes when making your bean cassoulet
Skipping the Soak
Never use canned beans straight from the can—they lack the texture and flavor depth that soaked dried beans provide. If you’re short on time, at least rinse canned beans thoroughly to remove excess sodium, then simmer them in fresh broth for 20 minutes to rehydrate properly.
The beans should be tender but still hold their shape; mushy beans will make your cassoulet soggy. 🌱
Uneven Breadcrumb Topping
An inconsistent topping ruins the whole dish. To avoid patchy spots, spread the breadcrumbs in a single even layer and press down firmly with the back of a spoon.
I like to use a 1/4-inch texture for the breadcrumbs—too fine and they’ll burn too quickly, too coarse and they won’t crisp properly. Weighing them out (1.5 cups) ensures consistency every time. 🍞
Overcrowding the Dutch Oven
Don’t fill your Dutch oven more than 2/3 full—overfilling causes the breadcrumb topping to soften as steam escapes. If your bean mixture is too thick, thin it with a splash of broth before assembling.
I’ve learned this the hard way: a soggy top means a failed cassoulet. Always leave room for the topping to crisp properly. ⚠️
Peeking Too Soon
Resist the urge to check on your cassoulet before the full 30 minutes are up. Every time you open the oven door, steam escapes, and the breadcrumb topping softens.
If you’re worried, use an oven thermometer to confirm your oven is truly at 375°F—many home ovens run hot or cold. Patience here is key to that perfect golden crust. 🌡️
Skipping the Rest
Serving cassoulet immediately after baking means a messy, crumbly topping. Always let it rest for 10-15 minutes—this allows the filling to set and the crust to firm up.
I’ve seen even the most experienced cooks skip this step, only to have the dish fall apart at the table. Trust the process! ⏳
Using Fresh Breadcrumbs
Fresh breadcrumbs absorb too much moisture and never achieve that coveted crispy texture. Always use stale or day-old baguette for your breadcrumbs—it toasts up beautifully and stays crispy. If you’re in a pinch, dry fresh bread in the oven at 350°F for 10 minutes before processing.
Never skip this step—it’s the difference between a great cassoulet and a disappointing one. 🍞
Nutrition facts
Frequently asked questions
Can I make this bean cassoulet without wine?
Replace the 1 cup of dry white wine with 1 cup of dry vermouth or extra vegetable broth. Add 1 teaspoon of lemon juice to brighten the flavors. The dish will still develop rich, savory notes—just slightly different.
How do I get the crispy topping to stay crispy after serving?
Keep the cassoulet covered with foil when not serving to maintain crispness. Reheat covered at 350°F for 10-15 minutes—never uncovered. For extra crunch, sprinkle fresh breadcrumbs on top before reheating. The secret is avoiding moisture exposure.
What’s the best way to store leftovers?
Store in an airtight container for up to 5 days in the fridge. For freezing, portion into single servings and freeze for 3 months. Reheat covered at 350°F until warmed through—this preserves the crispy texture better than microwave reheating.
Can I substitute other beans for Great Northern?
Yes! Cannellini or navy beans work well—they hold shape and absorb flavors beautifully. Avoid kidney beans (they get mushy). If using canned beans, rinse thoroughly and simmer for 20 minutes in fresh broth to firm them up. The texture difference is subtle but noticeable.
Why does my cassoulet look dry after baking?
Overbaking or insufficient liquid causes dryness. Ensure your bean mixture is thick but not dry—it should coat the back of a spoon. If needed, add 2 tablespoons of broth before baking. The key is patience: 30-35 minutes at 375°F is perfect for even moisture distribution.
