Traditional French Cassoulet

A meaty stew of poultry, sausage, pork, and beans, all under a rich, dark brown crust.

Overhead view of a single single serving of traditional French Cassoulet next to the pot

Serious Eats Fred Hardy

Why It Works

  • Soaking the beans in salted water overnight helps keep them tender as they cook.
  • Offering the option to use chicken in place of the traditional duck makes this an easier at-home dish.
  • Adding gelatin to thin stock helps it form a better crust on the casserole as it bakes.

How many times have you seen someone post a photo or recipe of a delicious-looking dish online only to see responses like "Hey! A mini burger is not a slider!" or "That stuff you made with the tiny bit of sugar added to it is not pizza sauce!" or even "If you aren't from [insert locality X], then you can't possibly understand much less make food from [locality X]!"?

I mean, I get it. Food instills passion. Food has history. Food is culture. It should be taken seriously and respectfully. But at the same time, it's meant to be delicious and give pleasure. If someone wants to shove some lobster in a tiny roll, serve it to their friends and family and call it a slider, who am I to tell them otherwise?

That's the logic I'm going to be using today while examining what undoubtedly ranks as one of the most prescriptivist dishes around: cassoulet. What started in the region of Languedoc as a humble peasant dish of dried beans cooked with various sausages and preserved meats—think of it as Southern French Beanee-Weenees—has turned into an all-out culture war with not one, not two, but three towns all claiming to be the originators of the One True Cassoulet.

You thought local sports fans are passionate? You should head over to one of those medieval walled cities—Toulouse, Castelnaudary, and Carcassonne all have claims to the dish—and chat with some local chefs to see how deep the dedication goes. The comparison to sports fandom is not as crazy as it sounds—members of the Académie Universelle du Cassoulet wear brightly colored uniforms, hand out medals, and wave banners just like fans in a stadium. (I didn't spot any cassoulet cheerleaders twirling confit goose legs along the walls of Carcassonne when I visited a couple years ago, but I wouldn't be surprised if they exist.)

Toulouse chefs insist on mutton, those in Castelnaudary proclaim duck confit and pork make the superior cassoulet, while Carcassonne residents prefer goose and partridge.

Here's the truth of the matter: Cassoulet is not cheffy, prescriptivist stuff. It's a medieval peasant dish designed to make do with whatever was around. In Languedoc, that happened to be dried beans, preserved duck, and preserved pork.

Cassoulet served in an earthenware dish in Languedoc, France.

Serious Eats / J. Kenji López-Alt

Classic Cassoulet

The first time I had cassoulet in its home turf (the Carcassonne version, in fact) it was a revelation: The cassoulet I'd known for nearly all of my professional career is nothing like the cassoulet found in Languedoc. It's as if I'd spent my life in the kitchen at Giordano's in Chicago and just found out that there's a style of pizza beyond deep dish and that not only that, but I'm the weird one here. That loose, almost soup-like stew of beans and meat was so far removed from all versions of cassoulet I'd had in the United States, or even in other parts of France. Gone was the stodgy, stew-like broth. Gone were the bread crumb toppings. Gone were the extra vegetables.

Instead, we were presented with a large, bubbling vat of beans and meat, covered in a crust so dark that it was almost black. Our hostess cracked open the crust to reveal beans swimming in a rich, gelatinous broth with bits of tender duck leg, cured pork belly, pork shanks, and a few different sausages.

Traditional cassoulet served on a plate in Languedoc, France.

Serious Eats / J. Kenji López-Alt

Just as in a good risotto, the cassoulet flowed slowly across the plate, spreading out into a loose sauce. None of that solid-enough-to-mound stuff I'd seen everywhere else. Flavorwise, it was different too. Rich, meaty, and overwhelmingly simple, there were a few background notes from aromatic vegetables—onions, carrots, celery, a few cloves, perhaps some bay leaf and parsley—but the main flavor was just that of the cured meat, a good stock, and beans.

Like I said: simple, peasant fare.

The beans were cooked to the point of maximum creaminess—like a good loose hamburger, they were held together with nothing more than hope, melting on your tongue as soon as they hit your mouth. Similarly, all of the meats were exceedingly tender, to the point where the only real texture was from the crust.

The thing is, I thought I knew what cassoulet was before trying it in Languedoc. I made it at fancy pants restaurants. I'd eaten it everywhere from New York to Paris. I'd bought it in ridiculously expensive imported jars. I spent months developing a recipe for Cook's Illustrated that never saw the light of day (people just don't feel like confit-ing their own duck).

But none of them ever came close to the real thing. Too thick, too fussy, too breadcrumb-y.

The version I'm giving you today does. And like any good peasant fare, it requires very little technique or skill, but does require a bit of time and TLC.

So how does one take this simple country dish and bring it home? Come along and I'll show you.

Using Chicken to Make Cassoulet

I need to get one thing off my chest right away: While you can use duck confit (or even goose) to make cassoulet, you don't have to. Here, I offer the option of plain old chicken thighs or raw duck legs. Not a true cassoulet without confit, you say? To you I say: "Whoa whoa whoa—back off man. I'm a graduate of the Académie Universelle du Cassoulet, and I have the paperwork to prove it."

Browning bone-in chicken drumsticks and thighs in a Dutch oven for cassoulet.

Serious Eats / J. Kenji López-Alt

I started tackling this recipe with the thought that I'd use confit. Then it struck me: I'm spending days making what is meant to be a simple peasant dish, and while pre-made confit can be purchased fairly easily these days, I think there's an argument for granting oneself the liberty to use chicken or fresh duck instead. Duck confit is, after all, an ingredient in traditional cassoulet not by choice, but by necessity. Back in the days before refrigeration, duck meat was preserved by heavily salting it, slow-cooking it, then packing it under a layer of its own fat. Now sure, it turns out that this produces a fantastically tasty product, but it's by no means a requisite for cassoulet. I'd argue that the most important part of the confit process—the slow cooking to tenderize tough connective tissue—is entirely wasted in a dish like cassoulet where the meat ends up getting slow-cooked anyway.

In fact, when tasted side-by-side, a confit duck leg slow-cooked in a cassoulet compared to a fresh duck leg cooked in the same pot comes out drier and stringier, a consequence of its double cooking. I'll just say it: Fresh duck is arguably better for cassoulet than confit duck.

So why chicken? Well, duck happened to be very common and inexpensive in medieval Southern France. In modern urban America, not so much. Here, chicken is cheap, widely available, and easy to work with. And you want to know something else? With so much flavor packed into the cooking liquid—sausages, salted pork, cloves—you're unlikely to miss the duckiness of the traditional dish.

Here's another thing: Most of the distinguishing flavor in a particular type of meat comes from the fat. Cook a beef steak in lamb fat and it'll taste like a lamb chop. Seriously.

So instead of just using duck, what if I were to incorporate a bit of store-bought duck fat?

Scooping store-bought duck fat out of a plastic container for cassoulet.

Serious Eats / J. Kenji López-Alt

I used that duck fat to brown my meat and bingo: true ducky, cassoulet flavor without any need for actual duck. I'd offer a totally insignificant cash reward for anyone who submits themselves to a Pepsi challenge and blind-tastes a bit of slow-cooked chicken and slow-cooked duck from the same pot of cassoulet prepared with duck fat and can tell me which is which.

Even without the duck fat, a chicken-based cassoulet is killer, so don't sweat it if you can't find or don't want to shell out for duck or duck fat.

Two Porks Make a Flavor-Packed Cassoulet

After the poultry, the pork is the next most important flavoring element in the cassoulet (I decided to not even bother trying to seek out mutton shoulder). Sausages are a must, and shoulder is common. In Languedoc, you'd typically find a garlicky pork sausage flavored with a bit of red wine. Back here, I like to use whatever mild garlic sausage I can find, though if you want to play Cassoulet Choose Your Own Adventure, you can go with any flavor sausage in the shop. Hot Italian? Chorizo? Go for it. I promise you nobody at the table will turn down your food.

Adding stock to pot of dried beans, salt pork, and aromatics for cassoulet.

Serious Eats / J. Kenji López-Alt

For the cured, fatty element, I tried various cuts including salted pork belly, regular bacon, pancetta, salted fatback, and salted smoked ham hocks. Both the bacon and hocks imparted too much smoky flavor to the mix. Fatback was just too fatty, and pancetta was immediately identifiable. Salted pork belly (usually sold as "salt pork" in the meat or sausage case) was the way to go.

I decided to start my cassoulet by rendering the fat from the pork belly and using it to brown the rest of my ingredients.

Browning pork belly in a Dutch oven for cassoulet.

Serious Eats / J. Kenji López-Alt

Browning it as a whole piece before slicing it into smaller chunks for slow cooking seemed like a good way to go about it, but in the interest of saving time and streamlining, I settled on cutting it into chunks before browning. This gave more surface area for rendering fat to escape, as well as more surface for browning, which led to deeper flavor in the finished dish.

Cutting pork belly into cubes for cassoulet.

Serious Eats / J. Kenji López-Alt

I tried various sizes from thin strips to little quarter-inch lardons and found that I much preferred larger, meatier chunks. Pieces about three-quarter-inch square are perfect.

Browning diced pork belly in a Dutch oven for cassoulet.

Serious Eats / J. Kenji López-Alt

Rendering them slowly helps them release maximum fat without burning around the edges. Once the meat is golden brown and has rendered most of its fat, I take it back out of the pot.

How to Brown Chicken for Cassoulet

One thing I learned the hard way: You don’t need to salt your chicken or fresh duck. There's already a ton of salt that makes it into the dish from the salt pork and other ingredients, not to mention the liquid that slowly reduces in the oven.

Four chicken legs on a crinkled piece of brown wax paper, sprinkled with black pepper.

Serious Eats / J. Kenji López-Alt

Salting your chicken separately makes for an inedibly salty dish. Just a few solid grinds of pepper are all it takes before the chicken is ready to go for a swim in the hot rendered pork fat.

One of the biggest mistakes I used to make as a young cook-ling was getting impatient with my browning.

Placing whole chicken legs in a Dutch oven to brown for cassoulet.

Serious Eats / J. Kenji López-Alt

Ok—the first big mistake I made was fearing the fat. I'd drop pieces of chicken or steak into the pan from afar, thinking that I'd save myself a few burns. Instead, all I did was splash hot oil onto my body. When adding food to hot fat, lower it in gently, letting your hand get down right to the surface.

After that, let the chicken do its thing. You know how you think that by walking into the bedroom every few minutes to check on her progress you can get your wife to put those clothes on her body faster for that dinner you're already late to but really you just make her go even slower? Chicken is the same way. Except it's a pot instead of a bedroom, it's browning instead of getting dressed, and it's a cold lifeless shell of what was once a living, breathing creature instead of... Ok. That bit’s the same.*

*Just kidding Adri, I love you and your warm soul.

Point is: don't poke and prod that chicken too much, and definitely don't flip it until it is deeply, deeply browned. All that flavor is going to go right into your beans. Take out the chicken after browning both sides and set it aside with the pork belly.

Once the chicken is done, it's time to brown the sausage.

Can you see where we're going with this? Building up layers of browned flavors.

Preparing Beans and Aromatics for Cassoulet

Now comes a deeper question: how to incorporate the aromatics. Some recipes I've seen call for onions, carrots, celery, and garlic to all be finely chopped and left in the finished dish. I personally find the little bits of vegetables very distracting.

Sautéing onion in a Dutch oven for cassoulet.

Serious Eats / J. Kenji López-Alt

Instead, I chop only the onion and add it to the pot after the meat is done browning, using the steam and moisture it gives off to deglaze the pan, scraping up all the flavorful browned bits that the meat left behind. As for the other aromatics—a carrot, a couple stalks of celery, a head of garlic, some sprigs of parsley, a couple bay leaves, and few cloves—I find leaving them in large chunks and using them to flavor the stock that I cook the beans in is the best way to extract subtle flavor without the distracting bits of vegetable in the finished dish.

As for those beans, I tested my recipes using a few different types of dried white beans from actual lingot I brought back from Languedoc to cannellini to small navy beans. Cannellini were the best domestic option. I tried cooking them a number of ways, from canned (no good—they don't develop flavor the way I'd like them to and the liquid doesn't thicken up enough as they cook) to non-soaked to soaked-and-cooked to completely pre-cooked before adding to the rest of the ingredients.

The best method was somewhere in between. I start by soaking my beans in a salty brine. (Despite what you may have heard about salt preventing beans from softening properly, it actually accomplishes the exact opposite goal: salt ensures that bean skins turn tender.)

Bean skins are held together by pectin, a sort of organic glue. Buttressing this pectin are magnesium and calcium ions. It takes a lot of work to take these down. But in the course of an overnight soak, some of those magnesium and calcium ions will get replaced by sodium ions. These guys are sort of like the double agents of the ion world. The beans will seem firm at first, but as soon as you start cooking them, those sodium ions reveal that they are not nearly as good at keeping pectin strong as the magnesium or calcium. Your bean skins will soften in record time and cook more evenly in the process.

Simmering cannellini beans in a Dutch oven for cassoulet.

Serious Eats / J. Kenji López-Alt

After draining the soaked beans I add them to the pot with the onions along with a quart of store-bought chicken stock and the aromatics. I simmer them until just shy of cooked before fishing out the spent aromatics, adding the meats back in, mixing everything around, and throwing it all into a low oven to finish cooking.

How to Get a Delicious Crust on Your Cassoulet

Beans, chicken, and sausages simmering in a Dutch oven.

Serious Eats / J. Kenji López-Alt

Top down view of a Dutch oven containing simmering beans, chicken, salt pork, and sausages.

Serious Eats / J. Kenji López-Alt

This is where the real magic of cassoulet happens. See, a good stock should be rich with proteins, and just like the proteins in meat, they brown when heated. As you cook a cassoulet in the oven, the top layer of liquid slowly evaporates, leaving an ever more concentrated layer of proteins on its surface. Eventually, these proteins form a raft-like skin.

By occasionally removing the cassoulet from the oven and breaking that skin, allowing fresh liquid to flow above it (traditionalists will tell you that seven times is the optimal number of breaks for the best skin), you build up a significant layer of skin. It's this skin that browns, forming the crust of a traditional cassoulet.

It's these proteins that transform this:

Assembled cassoulet in an earthenware pot before baking.

Serious Eats / J. Kenji López-Alt

Into this:

Baked cassoulet in an earthenware pot with a crispy, browned top.

Serious Eats / J. Kenji López-Alt

At least, that's what's supposed to happen.

The sad reality is that most of the cassoulets I've cooked in the past have ended up looking like this:

Cassoulet baked in a Dutch oven showing very little crispy skin on top.

Serious Eats / J. Kenji López-Alt

A slight indication of skin at the top, but really it looks more like a bug than a feature.

What's the problem?

First off, it's the shape of the pan. A traditional cassole has a tapered shape that gives it an extremely high surface area to volume ratio. More room for evaporation means better skin formation and better browning. In fact, the last two pictures above are of cassoulets cooked in the exact same manner, the only difference being the vessel they are cooked in.

Unfortunately, it's tough to find a good cassoulet pot around here.

A regular cassoulet will form a crust in about four hours of cooking in a 300°F (150°C) oven. What about if you just cook your Dutch oven cassoulet for longer or hotter? I tried a variety of time and temperature ranges. At the very best, what you end up with is this:

A baked cassoulet in a Dutch oven with a dry texture and crust formed by the beans and meat.

Serious Eats / J. Kenji López-Alt

Decent crust alright, but the crust is really formed by the beans and the meat, not by the liquid itself. Underneath, the beans are too dry.

The second problem is the store-bought stock I'd been using. Homemade chicken stock tends to be very high in gelatin, a result of the high amount of connective tissue in the bones and cartilage used to make it. Store-bought stock, by contrast, is thin and watery. It's this gelatin that forms the crusty raft on top of the cassoulet, giving it both crust and body.

It's these two problems—wrong pot, not enough gelatin in the stock—that lead many recipes to resort to using breadcrumbs to create an artificial crust.

So what's the solution? Well the obvious one is to just make your own stock. It's actually way easier than it sounds, though it again requires a bit of a time commitment. I'll admit it: Sometimes even I'm too lazy to make my own stock when I've already got a day-long project ahead of me.

So what's the next best thing?

Just fake it.

By blooming store-bought unflavored gelatin in regular store-bought stock, you can create a rich stock full of body that forms a raft just like the real deal. I don't go easy on the gelatin either (remember, you have to make up for using the wrong-shaped pot as well). A full three packets for a quart of liquid gives it the body and crust I'm looking for.

In order to get a cassoulet that stays nice and loose underneath while still building a crust up top, it's important not to drown that crust out. If your liquid level starts to get too low, add more liquid (just plain water works) to the pot by carefully pouring it along the side of the pot so that it goes under the crust, not over it.

Now there's a cassoulet worthy of rooting for, funny little suits, medieval cheerleaders and all.

Break into that crust, and here's what you've got underneath:

A spoon of tender beans and brown salt pork from the finished cassoulet with crisp skin.

Serious Eats / J. Kenji López-Alt

Creamy, flavor-packed beans with meltingly tender nubs of pork belly and sausage and poultry that falls off the bone in moist shreds, all in a rich, sticky liquid that drinks like liquid pork.

This is the kind of fare that demands you sit down and make an event out of, good Languedoc wine and all.

It's the kind of meal so rich and hearty that all you could possibly eat on the side is a simple green salad (preferably with an excellent French vinaigrette).

I mean, just look at it:

Scooping into a cassoulet baked in a Dutch oven with a crisp browned crust and creamy beans.

Serious Eats / J. Kenji López-Alt

LOOK AT IT:

Cassoulet on a serving plate next to the Dutch oven it's baked in.

Serious Eats / J. Kenji López-Alt

ALL OF THIS CAN BE YOURS.

And it's way easier than it seems. But isn't deceptively simple, delicious food what good country eating is all about, chickens and all?

October 2014

This recipe was cross-tested in 2022 and updated in the following ways: pork shoulder was added to the ingredients to round out the meat options; additional poultry options were added so that home cooks can make the recipe with chicken, fresh duck, or confit, depending on personal preference; and cooking times and some ingredient quantities were adjusted for improved results.

Recipe Details

Traditional French Cassoulet

Prep 10 mins
Cook 4 hrs
Active 60 mins
Soaking Time 8 hrs
Total 12 hrs 10 mins
Serves 6 to 8 servings

Ingredients

  • 1 pound (454g) dried cannellini beans

  • 3 tablespoons (27g) Diamond Crystal kosher salt; for table salt, use half as much by volume or the same weight

  • 5 cups (1.2L) homemade or store-bought unsalted chicken stock, divided (see notes)

  • 3 packets unflavored gelatin (3/4 ounce; 21g), such as Knox (optional, see notes)

  • 2 tablespoons (30ml) duck fat (optional)

  • 8 ounces (227g) salt pork, cut into 3/4-inch cubes (about 1 1/4 cups)

  • 8 ounces (227g) boneless pork shoulder, cut into 1-inch cubes

  • 4 skin-on, bone-in chicken thighs, 4 fresh duck legs, or 4 prepared duck confit legs

  • Freshly ground black pepper

  • 1 pound (454g) garlic sausage (divided into 2-4 segments, if sausage is large)

  • 1 large onion (12 ounces; 340g), finely diced (about 1 1/2 cups)

  • 1 carrot (4 ounces;113g), unpeeled and cut into 3-inch sections

  • 2 ribs celery (6 1/2 ounces; 188g), cut into 3-inch sections

  • 1 whole head garlic (2 3/4 ounces; 80g)

  • 4 sprigs flat-leaf parsley

  • 2 bay leaves

  • 6 cloves

Directions

  1. In a large bowl, cover beans with 3 quarts (2.8L) water and add salt. Stir to combine, then let stand at room temperature overnight. Drain and rinse beans; set aside.

    Beans in a bowl

    Serious Eats / Fred Hardy

  2. Adjust oven rack to lower-middle position and preheat oven to 325°F (160°C). Place 4 cups (946ml) stock in a large liquid measuring cup and sprinkle gelatin, if using, over top. Set aside. In a large Dutch oven, heat duck fat (if using), salt pork, and pork shoulder and cook over high heat, stirring occasionally, until browned all over, about 9 minutes (if not using duck fat, cook pork with no additional fat). Using a slotted spoon, transfer to a large bowl, leaving rendered fat in Dutch oven, and set aside.

    Overhead view of bacon rendered in a dutch oven

    Serious Eats / Amanda Suarez

  3. Season chicken thighs or duck confit with pepper (do not add salt) and place skin side down in Dutch oven. Cook without moving until well-browned, 6 to 8 minutes. Transfer to a plate and let cool to room temperature.

    Meat placed skin-side down in dutch oven

    Serious Eats / Fred Hardy

  4. Add sausages to Dutch oven and cook, turning occasionally, until well-browned, about 2 minutes per side. Transfer to bowl with salt pork. Drain all but 2 tablespoons fat from pot.

    Sausages added to dutch oven

    Serious Eats / Fred Hardy

  5. Add onions to Dutch oven and cook, stirring and scraping up browned bits from bottom of pot, until onions are translucent but not browned, about 4 minutes. Add drained beans, carrot, celery, garlic, parsley, bay leaves, cloves, and stock/gelatin mixture. Bring to a simmer over high heat. Reduce to low, cover Dutch oven, and cook until beans are slightly softened but retain a bite, about 20 minutes.

    Overhead view of vegetables and beans added to pot

    Serious Eats / Fred Hardy

  6. Cover cooled chicken or duck and transfer to refrigerator. Using tongs, remove carrots, celery, parsley, bay leaves, and cloves from pot and discard. Add pork and sausages to pot and stir to incorporate. Beans should be almost completely submerged. Transfer to oven and cook, uncovered, adding remaining 1 cup (237ml) stock halfway through by pouring it carefully down side of pot as necessary to keep beans mostly covered, until a thin crust forms on top, about 1 hour 30 minutes.

    Pouring stock into pot

    Serious Eats / Fred Hardy

  7. Break crust with a spoon and shake pot gently to redistribute. Nestle chicken or duck into the Dutch oven, skin side up. Return to oven and continue cooking, stopping to break and shake crust every 30 minutes, until crust is deep brown and thick, an additional 1 hour 30 minutes. Serve immediately.

    Overhead view of breaking the crust with a spoon

    Serious Eats / Fred Hardy

Special Equipment

Dutch oven

Notes

If you are using homemade chicken stock that already has lots of gelatin (i.e., it should thicken and gel when chilled), you can omit the unflavored gelatin here; if your stock is store-bought, or if it's homemade but watery even when chilled, the unflavored gelatin is an essential ingredient.


Make sure not to use a salted, or even low-sodium, chicken broth, especially if opting for duck confit, lest the dish end up too salty.

Nutrition Facts (per serving)
641 Calories
37g Fat
41g Carbs
36g Protein
×
Nutrition Facts
Servings: 6 to 8
Amount per serving
Calories 641
% Daily Value*
Total Fat 37g 48%
Saturated Fat 13g 67%
Cholesterol 101mg 34%
Sodium 1379mg 60%
Total Carbohydrate 41g 15%
Dietary Fiber 9g 34%
Total Sugars 4g
Protein 36g
Vitamin C 4mg 19%
Calcium 179mg 14%
Iron 7mg 41%
Potassium 1410mg 30%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)