Black Bean Cassoulet Recipe: Slow-Braised Richness With Crispy Bread Topping

Side Dishes

Black Bean Cassoulet Recipe: Slow-Braised Richness With Crispy Bread Topping

This black bean cassoulet recipe transforms a classic French dish into a vegetarian masterpiece with deep, slow-braised flavors and a crispy bread topping that steals the show. The secret lies in layering rich tomato sauce, hearty beans, and aromatic herbs, then baking until the crust turns golden and irresistible.

I developed this version after years of perfecting cassoulet—replacing meat with protein-packed black beans while keeping every layer of texture and depth intact.

The beauty of this recipe is its balance: tender beans simmered in a bold, slightly sweet tomato base, topped with a crust of toasted bread that adds crunch without overpowering.

Unlike traditional cassoulet, this version skips the lengthy soak for beans and uses a foolproof baking technique that ensures the bread stays crispy even after hours in the oven. The result? A dish that feels indulgent yet stays true to its vegetarian roots.

What you’ll end up with is a restaurant-quality cassoulet—warm, fragrant, and packed with layers of flavor. The bread topping crackles with every bite, while the beans beneath stay tender and infused with garlic, thyme, and smoked paprika.

It’s the kind of dish that transforms a simple weeknight into a special occasion, all without the fuss of traditional cassoulet prep.

Perfect for feeding a crowd or meal prepping for the week, this recipe scales effortlessly. The slow-braised beans develop deeper flavor the longer they cook, making leftovers even better the next day. Here’s how to make it—crispy crust and all.

👨‍🍳
Difficulty
Medium
🌿
Category
Vegetarian
🔥
Calories
Med Cal

Ingredients for black bean cassoulet

Sixteen ingredients for a vegetarian cassoulet that rivals the classic with rich tomato depth and crispy bread topping.

Ingredient Amount Notes
Black Beans 🫘 2 cups Drained and rinsed, cooked or canned
Diced Onions 🧅 2 medium Yellow or white, finely chopped
Garlic Cloves 🧄 6 cloves Minced for depth of flavor
Canned Crushed Tomatoes 🍅 2 cups San Marzano preferred for sweetness
Tomato Paste 🍅 ½ cup Squeeze tube or canned
Smoked Paprika 🌶️ 2 tbsp For authentic cassoulet flavor
Dried Thyme 🌿 1 tbsp Or 1 tbsp fresh thyme leaves
Bay Leaves 🍃 2 whole Removed before serving
Vegetable Broth 💧 2 cups Low-sodium preferred
Bread Cubes 🍞 6 cups Day-old sourdough or crusty bread
Extra-Virgin Olive Oil 🫒 ½ cup For crispy bread topping
Salt 🧂 1 ½ tsp Diamond Crystal preferred
Black Pepper 🌶️ ½ tsp Freshly ground for heat
Fresh Parsley 🌿 ¼ cup Chopped for garnish

The black beans are the heart of this dish—canned or cooked works equally well, but low-sodium varieties prevent salt overload. For the onions, yellow or white both work, but avoid red if you want a neutral base. The garlic is non-negotiable—mincing it fresh releases more flavor. San Marzano tomatoes have the best balance of sweetness and acidity, though any quality crushed tomatoes will do. Smoked paprika is key for that authentic cassoulet flavor—Penzeys or Trader Joe's carry excellent options. For the bread cubes, day-old sourdough is ideal as it absorbs moisture without getting soggy.

No smoked paprika? Regular paprika plus a pinch of liquid smoke works in a pinch. Fresh thyme is preferable, but dried works at half the amount. The tomato paste can be tricky—squeeze tubes from Trader Joe's are perfect for this recipe, as they're concentrated and easy to measure. For the bread, any crusty bread works, but avoid soft white bread as it won't crisp up properly. The olive oil matters here—use something fruity and peppery for the bread topping, not a bland refined oil. If you're short on time, pre-cooked beans save hours, but soaking overnight gives the best texture.

This cassoulet tastes even better the next day—plan ahead. Store covered in the fridge for 4-5 days, or freeze portions for 3 months. The bread topping stays crispy if you reheat it covered with foil for 10 minutes, then uncover to crisp. For meal prep, I portion into individual servings—the beans stay tender while the bread topping can be reheated separately. Garnish with fresh parsley right before serving to keep it vibrant.

❤️

Why You'll Love This Recipe

  • One-Pot Magic: I swear by this recipe—just toss everything into one pot, simmer, and walk away. No fancy layers, no stressing over timings. The beans soften while the onions caramelize right in the same pot, and honestly? That’s half the battle won before you even taste it.
  • Rich Without Effort: Here’s what sold me—the way the tomato paste and crushed tomatoes deepen into this velvety, slightly smoky base. Add a splash of broth, and suddenly you’ve got a dish that tastes like it simmered for hours, even if you’re rushing. That crispy garlic edge? Pure satisfaction in a spoonful.
  • Leftover Champion: Between us, this recipe begs to be made in bulk. The flavors only get better after a day or two in the fridge—my lunchbox’s favorite. Pack it cold or reheat it, and it’s still hearty enough to fill a hungry stomach (yes, even on a Tuesday night).
  • Budget Hero: Black beans and canned tomatoes? That’s my pantry’s secret weapon. This cassoulet costs next to nothing but feels like a restaurant-worthy meal. I’ll be real: my grocery bill stays low, but my dinner table doesn’t have to.

Step-by-step instructions for black bean cassoulet

Here's the method for building layers of flavor and texture that make this cassoulet unforgettable.

1

Sauté Aromatics Until Deeply Fragrant

Heat the 0.5 cup extra-virgin olive oil in a large Dutch oven over medium heat. Add the 2 medium diced onions and cook for 8-10 minutes until they become translucent and begin to caramelize at the edges. This slow cooking develops sweetness that forms the base of your cassoulet.

Add the 6 cloves minced garlic and cook for 30 seconds until fragrant—don't let it brown or it'll turn bitter. Immediately stir in the 2 tbsp smoked paprika and 1 tbsp dried thyme, toasting for 30 seconds until the spices release their aromatic oils. This step builds the flavor foundation that carries through the entire dish.

2

Build the Rich Tomato-Bean Sauce

Reduce heat to medium-low and stir in the 2 cups canned crushed tomatoes and 0.5 cup tomato paste. Cook for 5-7 minutes until the mixture thickens slightly and the raw tomato taste mellows. Add the 2 cups drained black beans, 2 cups vegetable broth, and the 2 whole bay leaves.

Bring to a gentle simmer, then reduce heat to low. Cover partially and let cook for 20 minutes, stirring occasionally, until the flavors meld and the sauce thickens. You want the beans to be heated through but not mushy—this is where the cassoulet's heart develops. The sauce should coat the back of a spoon but still be loose enough to absorb the bread cubes later.

3

Prepare the Crispy Bread Topping

While the bean mixture simmers, preheat your oven to 375°F. Toss the 6 cups bread cubes with 1.5 tsp salt, 0.5 tsp black pepper, and 0.25 cup extra-virgin olive oil until evenly coated. Spread them on a baking sheet in a single layer.

Bake for 15-18 minutes, stirring once halfway through, until the bread is deep golden brown and crispy. Watch carefully—they'll go from perfect to burnt quickly. The bread should be dry and crunchy, not soft. This crispy topping is what makes cassoulet special, so don't rush this step.

4

Assemble and Braise the Cassoulet

After the bean mixture has simmered for 20 minutes, remove the bay leaves. Spread half of the bean mixture in the bottom of your Dutch oven, creating an even layer. Arrange half of the crispy bread cubes on top, pressing down gently to create an even surface.

Add the remaining bean mixture, then top with the remaining bread cubes. The bread should be completely submerged in the bean mixture—this ensures maximum crispiness while keeping the bread from getting soggy. Cover with a tight-fitting lid or foil and transfer to the preheated oven.

5

Bake Until Golden and Bubbling

Bake for 25-30 minutes until the cassoulet is bubbling at the edges and the top is deep golden brown. The bread should be crispy again after absorbing some of the bean mixture—this is the hallmark of a perfect cassoulet. If the top isn't brown enough, broil for 2-3 minutes at the end, watching closely to prevent burning.

Remove from the oven and let rest for 10 minutes before serving. This resting period allows the bread to re-crisp slightly and the flavors to fully meld. Garnish with 0.25 cup chopped fresh parsley just before serving. Each bite should deliver tender black beans, rich tomato sauce, and that satisfying crunch from the bread topping.

👨‍🍳

Pro Tips For Making Black Bean Cassoulet

  • SOAK BEANS OVERNIGHT: I learned this the hard way—skipping the soak leaves your black beans mealy, no matter how long you simmer. Toss them in cold water for 8+ hours (or at least 2 hours if you’re in a rush), then drain and rinse before cooking. The starch wash makes a real difference in texture, especially when mixed with tomatoes.
  • CARAMELIZE ONIONS LOW: High heat turns onions bitter fast, and your cassoulet needs sweetness to balance the beans. Cook them on medium-low, stirring often, until they’re deep gold—about 20 minutes. Add a splash of water if they stick; patience here prevents a one-note dish.
  • SAUTE TOMATO PASTE FIRST: Bloom that paste in oil for 2-3 minutes before adding anything else. It deepens the flavor and prevents a raw, chalky taste when mixed with tomatoes. I was skeptical until I tried it—now I never skip this step.
  • SIMMER BEANS UNTIL TENDER: Black beans need 45-60 minutes of gentle simmering to break down properly. Check for doneness by mashing one—it should hold shape but still be creamy. Overcooking turns them mushy; undercooking leaves them tough. A fork test works best.

Pro cooking tips for this recipe

Tomato Sauce Perfection

For the richest tomato base, use a mix of crushed tomatoes and tomato paste—this combo creates depth and prevents wateriness. I always simmer the sauce for 5-7 minutes before adding beans to let the acidity mellow.

A splash of 1 tbsp red wine (like Pinot Noir) at this stage adds complexity that elevates the entire dish. 🍷

Bean Texture Mastery

Black beans should be tender but still hold their shape—overcooking turns them mushy. After adding them to the sauce, simmer for just 15-20 minutes total (including the initial 5 minutes with tomatoes).

For extra insurance, use low-sodium canned beans and rinse them well to balance flavors. If using dried beans, soak overnight for even better texture. 🫘

Bread Crispiness Secrets

The bread topping is make-or-break—day-old sourdough is ideal because it's dry enough to crisp without getting soggy. Toss cubes with extra-virgin olive oil and salt until completely coated, then bake at 375°F until golden brown.

For extra crunch, I like to spread them on a wire rack in a single layer so air circulates on all sides. 🍞

Oven Temperature Control

Don't overcrowd the Dutch oven when assembling—this prevents proper browning. The oven should be 375°F for even cooking, but if your cassoulet isn't browning enough after 25 minutes, switch to broil for 2-3 minutes at the very end.

Watch like a hawk to avoid burning. The bread should be crispy again after absorbing some of the bean mixture—this is the true test of success. 🌡️

Layering Technique

Spread the bean mixture evenly in the Dutch oven before adding bread—this prevents soggy spots. Press the bread cubes gently into the sauce so they absorb flavor but stay crisp.

The key is complete submersion: bread should be fully covered by the bean mixture before baking. This ensures maximum crispiness while keeping the bread from getting mushy. ⚡

Resting Before Serving

Never skip the 10-minute rest after baking—this lets the bread re-crisp slightly and allows flavors to meld. I often garnish with fresh parsley right before serving to keep it vibrant.

For meal prep, store covered in the fridge for up to 4 days, reheating covered with foil for 10 minutes before uncovering to crisp. 💫

Nutrition facts

Servings 6
Amount Per Serving
Calories 480kcal
% Daily Value *
Total Fat 24g31%
Saturated Fat 4g20%
Cholesterol 0mg0%
Sodium 750mg33%
Total Carbohydrate 58g20%
Dietary Fiber 18g64%
Sugars 8g
Protein 22g44%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I make this black bean cassoulet vegan?

Yes! Simply replace the extra-virgin olive oil in the bread topping with vegan butter and ensure your bread cubes are from a vegan-friendly loaf. The rest of the recipe stays the same, as it already avoids meat and dairy. For extra richness, stir in 1 tbsp nutritional yeast with the beans to add depth.

2

What if I don't have smoked paprika?

Use regular paprika plus ½ teaspoon liquid smoke for a similar smoky flavor. For a deeper cassoulet taste, add ¼ teaspoon cayenne pepper to mimic the heat profile. Toast the spices for 30 seconds longer to intensify their aroma. The dish will still be delicious—just slightly less authentic.

3

How do I fix soggy bread topping?

Soggy bread happens when the bread isn't fully submerged in the sauce or the oven isn't hot enough. For next time, press bread cubes firmly into the sauce and bake at 375°F until golden. If it's already soggy, broil for 2-3 minutes at the end to re-crisp the top. For immediate fixes, sprinkle with extra breadcrumbs before serving.

4

Can I use other beans instead of black beans?

Yes! Great Northern or kidney beans work well—they hold their shape better during baking. For a creamier texture, try white beans or cannellini, but increase the broth by ½ cup to balance the starch. Black beans are ideal for their slight earthiness and firm texture, but any bean will work with these adjustments.

5

How far ahead can I prep this recipe?

You can assemble the cassoulet up to 24 hours ahead—just refrigerate it covered. Reheat at 350°F for 30-40 minutes, covered with foil, then broil for 2-3 minutes to crisp the bread. For best results, bake fresh, but prepped components (like the bean mixture or bread cubes) can be stored separately for 3 days.

★★★★★5.0(4 reviews)
Categories Side Dishes