Skip to content
Cassoulet Toulousain (Toulouse-Style Cassoulet)
frenchdinner✨ New

Cassoulet Toulousain (Toulouse-Style Cassoulet)

The legendary Languedoc bean stew — Tarbais beans slow-cooked with confit duck, Toulouse sausage and pork, baked under a golden breadcrumb crust.

Prep
90 min
Cook
240 min
Servings
8
Difficulty
Hard
4.9
Sign in to rate
#french#languedoc#stew#duck#beans#winter

About This Recipe

Cassoulet is the great peasant dish of southwest France, a slow-cooked casserole of white beans, multiple cured and confit meats, and a deeply savoury stock that bakes for hours under a breadcrumb crust until it forms a famous mahogany 'croûte' that the cook must break and stir back into the beans seven times during the bake. There are three rival cities and three rival recipes — Castelnaudary (the most austere, pork only), Carcassonne (with mutton), and Toulouse (with confit duck and Toulouse sausage, the most internationally famous). The Toulousain version is built on three pillars: genuine Tarbais beans (a heritage Pyrenean variety with thin skins and a melting texture), proper duck confit (legs cured in salt, then poached and stored in their own fat), and Toulouse sausage (coarse pork seasoned only with salt, pepper and a hint of nutmeg). Everything is layered into a wide earthenware cassole — the unglazed clay vessel that gives the dish its name — and baked very slowly so the beans soak up the meat's fat and the top crisps and crusts. Made properly, cassoulet is a 3-day project: soak the beans on day one, confit and stock on day two, assemble and bake on day three. The reward is a dish of profound, deeply autumnal richness that is one of France's defining country meals.

Ingredients

Serves 8

  • 600 gdried Tarbais beans (or large lingot beans), soaked overnight in cold water
  • 4 legsduck confit (homemade or good-quality jarred), with 3 tbsp of the fat reserved
  • 500 gToulouse sausage (coarse, plain pork; or a good Cumberland as substitute), in 8 cm lengths
  • 400 gpork shoulder, in 4 cm chunks
  • 200 gsmoked pork belly or pancetta in one piece, cut into thick lardons
  • 1 largecarrot, halved; 1 onion studded with 2 cloves; 1 head garlic halved across; 1 bouquet garni (thyme, bay, parsley stems)
  • 1.5 Lrich pork or duck stock (or chicken stock as substitute)
  • 200 gfresh tomato passata or 2 ripe tomatoes, chopped
  • 120 gcoarse dry breadcrumbs (mie de pain), for the crust

Instructions

  1. 1

    Pre-cook the beans

    Drain the soaked beans, cover with fresh cold water in a pot with the carrot, clove-studded onion, half the garlic, and the bouquet garni. Bring to a bare simmer (never a hard boil — beans will split) and cook 45 minutes until just tender but not mushy. Drain and reserve the cooking liquid.

  2. 2

    Brown the meats

    Heat 2 tbsp of the duck fat in a heavy pan over medium-high. Brown the pork shoulder chunks 8 minutes on all sides; remove. Brown the sausages 4 minutes; remove. Render the pork belly lardons 5 minutes until lightly crisped; remove and keep all fat in the pan.

  3. 3

    Build a flavour base

    Lower heat to medium. Sweat the remaining garlic and any soft veg trim from the beans in the rendered fat 4 minutes. Stir in the tomato passata and cook 5 minutes until it loses its raw smell. Pour in the bean cooking liquid plus the stock and bring to a simmer.

  4. 4

    Combine and slow-stew

    Add the browned pork shoulder and pork belly to the stock. Cover and simmer very gently 90 minutes until the pork is tender. Taste and season — go a touch under on salt, as confit and sausage will add more later.

  5. 5

    Layer the cassoulet

    In a wide cassole or deep earthenware/cast-iron dish, spread one-third of the beans. Lay the duck confit legs, sausages, pork shoulder and pork belly across the beans. Cover with the remaining beans and pour over enough cooking liquid to just barely peek through the top of the beans.

    The classic cassole is wider than it is deep — maximum surface area to grow the prized crust.

  6. 6

    First bake

    Scatter half the breadcrumbs evenly over the surface and drizzle with the last tbsp of duck fat. Bake uncovered at 150°C (300°F) for 1 hour. The top will form a pale crust.

  7. 7

    Break and crust again

    Pull the dish out and break the crust by pushing it down into the beans with the back of a spoon. Sprinkle with the rest of the breadcrumbs and return to the oven. Repeat this break-and-crust step every 25 minutes for another 2 hours — traditionalists do it 7 times total.

  8. 8

    Rest before serving

    Pull from the oven and rest 20 minutes — the beans absorb the last of the stock and the crust settles. Serve in deep bowls at the table directly from the cassole with crusty country bread and a glass of Languedoc red.

Did you make this?

Rate it and help other cooks find the recipes that actually work.

One tap to sign in, and we'll save the rating you just picked.

Everything you need to plan your week — free

  • Meal calendar
  • Grocery list
  • AI recipe ideas

Track what you eat

Snap your meal to log calories and macros, run fasting timers and track water in the free SnapCal app.

Download Now

Pro Tips

  • →

    Tarbais beans (haricots tarbais) are non-negotiable for authentic texture — order online if you can't find them locally. The label IGP Tarbais guarantees the variety.

  • →

    Never let the beans boil hard at any stage — they split open and lose their integrity. Bare, lazy simmers only, always.

  • →

    Make duck confit a week ahead and store the legs submerged in fat in the fridge; the resting period transforms the meat. Good-quality jarred confit (D'Artagnan, Castaing) is an honest substitute.

  • →

    Use a wide, shallow earthenware dish for maximum crust surface. A 30 cm cassole or a 32 cm cast-iron buffet pan is ideal — narrow Dutch ovens grow only a small crust.

Variations

  • •

    Castelnaudary — drop the duck and use only pork shoulder, pork belly, pork sausage, and a knuckle of ham. Drier, more austere, called the 'father of cassoulets.'

  • •

    Carcassonne — add chunks of bone-in mutton or partridge in season; smokier, gamier, less internationally familiar.

  • •

    Confit goose instead of duck — historically the original Toulouse version before duck overtook goose in commercial farming.

  • •

    Quick weeknight cassoulet — use tinned cannellini, cooked sausages and rotisserie chicken; not authentic but a satisfying 90-minute version.

Storage

Cassoulet improves overnight in the fridge — make it the day before and reheat at 160°C for 45 minutes. Keeps 4 days refrigerated. Freezes well 2 months in single portions; thaw overnight and bake at 170°C with a fresh breadcrumb topping for 35 minutes.

History & Origin

Cassoulet's roots trace to medieval Languedoc and a legend that during the Hundred Years War the besieged people of Castelnaudary pooled all their remaining food — beans, salted meats, sausages — into one giant communal pot to feed defenders. The Toulouse version emerged in the 18th century with the rise of duck and goose farming in southwest France.

Frequently Asked Questions

Can I make this without duck confit?

Yes — you can substitute slow-roasted duck legs (200°C for 2 hours, fat side up) but the texture won't be the same. Alternatively use the Castelnaudary version, which is pork-only and equally traditional.

Do I really need to break the crust seven times?

It's traditional, not strictly required. The crust-and-break technique builds layers of caramelised flavour into the beans. At minimum break and re-crust twice; seven times is for purists.

Why are my beans tough?

Either the beans were old (over 1 year, they refuse to soften), the water was too hard (calcium prevents starch hydration), or you added acid/salt too early. Salt only after the beans are tender, never before.

Is this dish gluten-free?

Everything except the breadcrumb topping is naturally gluten-free. Substitute coarsely crushed gluten-free crackers or rice flour mixed with duck fat for the crust to make it fully GF.

Nutrition Facts

Per serving (450g / 15.9 oz) · 8 servings total

Calories780kcal
Protein42g
Carbohydrates56g
Fat42g
Fiber14g
Protein42g
Carbs56g
Fat42g

Time Summary

Prep time90 min
Cook time240 min
Total time330 min

Have Questions?

Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.

Chat with AI Chef →

Community

Join the conversation

Sign in to leave a comment and save your favourite recipes