Layers of duck, two kinds of sausage, a hearty ragout, and beans make this the comfort meal to end all comfort meals. It’s an occasion to break out the biggest pot you own. Our classic cassoulet recipe takes no shortcuts and requires a little planning, but every step is totally doable, even if you’re not a pro. It requires a few ingredients you won’t find in the typical supermarket. Save yourself from searching all over town and head to D’Artagnan’s website, where you can order French Tarbais beans, precooked garlic sausage, and Moulard duck legs. Just don’t leave this for the last second.
6 duck legs
6 Tbsp. Diamond Crystal or 3 Tbsp. plus 2 1/2 tsp.
4 sprigs thyme
4 garlic cloves, smashed
2 tsp. black peppercorns
1 tsp. juniper berries (optional)
2 whole cloves
1 large onion, halved through root end
1 1/2 lb. dried Tarbais, corona, or cannellini beans, soaked overnight, drained
8 oz. pancetta (leave in 1 thick piece)
2 carrots, scrubbed, halved crosswise if large
1 head of garlic, halved crosswise
4 sprigs thyme
1 bay leaf
Kosher salt, freshly ground black pepper
1 1/2 lb. skinless, boneless pork shoulder (Boston butt), cut into 1″ pieces
1 1/2 tsp. Diamond Crystal or 1 tsp. Morton kosher salt, plus more
Freshly ground black pepper
2 Tbsp. vegetable oil
1 large onion, peeled, chopped
1 large carrot, peeled, chopped
4 garlic cloves, finely chopped
4 sprigs thyme
1 bay leaf
1 (14.5-oz.) can crushed tomatoes
6 cups chicken stock or low-sodium chicken broth
Kosher salt, freshly ground pepper
1 lb. fresh pork sausage (such as Toulouse, sweet Italian, or unsmoked kielbasa)
3 cups medium-fine fresh breadcrumbs, divided
1/4 cup finely chopped parsley
1 garlic clove, halved lengthwise
1 lb. precooked garlic sausage, sliced crosswise 1/4″ thick (optional)
TWO DAYS AHEAD
Prick skin on duck legs all over with the tip of a paring knife. Rub legs with salt, making sure to massage into flesh and skin.
Place legs in a large bowl and cover with plastic wrap, pressing directly onto legs. Rest a plate on top of legs and weigh down with several 28-oz. cans. Chill at least 12 hours and up to 1 day.
NOTE: If you’re going to cook the beans and ragout tomorrow, soak the beans tonight. If not, just remember to soak them the day before you want to cook them.
ONE DAY AHEAD
Preheat oven to 250°F. Evenly scatter thyme, garlic, peppercorns, and juniper berries (if using) across a large baking dish or roasting pan and add 2 Tbsp. water.
Remove duck legs from bowl. Rinse off salt and arrange legs, skin side down, over aromatics in baking dish. Cover dish tightly with foil and weigh down with a cast-iron skillet or a heavy baking dish. Bake until fat renders out of duck and legs are submerged, about 2 hours.
Carefully remove baking dish from oven and remove skillet and foil. Turn legs skin side up and nestle back into fat. Cover dish again with foil and continue to cook legs, unweighted, until duck meat is very tender and bones wiggle easily in joints, 2–2 1/2 hours longer.
Let legs cool in fat until you can handle them, then transfer with tongs or a spider to a plate. Strain 1/4 cup fat through a fine-mesh sieve into a small bowl and let cool. Cover and set aside for cooking the breadcrumbs. Strain remaining fat into an airtight container; cover and reserve for another use (like roasting potatoes).
Remove skin from legs, trying to keep as intact as possible; transfer skin to an airtight container. Cover and chill. Pull duck meat from bones, tearing into 2″ pieces; discard bones and cartilage. Place meat in another airtight container; cover and chill. You won’t need the skin, meat, or fat until you’re ready to assemble the cassoulet.
DO AHEAD: Duck legs can be confited 3 weeks ahead. Transfer legs to a large nonreactive vessel; strain fat through a fine-mesh sieve over meat. Cover and chill. Let come to room temperature before using. Meat and skin can be prepared 3 days ahead; keep chilled.
Stick a clove into each onion half. Place in a large pot along with beans, pancetta, carrots, garlic, thyme, and bay leaf; pour in cold water to cover beans by 2″. Season with several grinds of pepper  and bring to a gentle simmer. Partially cover pot and cook beans, skimming surface occasionally and adding more water as needed to keep beans submerged and seasoning with a couple of pinches of salt after about 30 minutes, until beans are tender but not falling apart, 45–60 minutes for cannellini and 1–1½ hours for Tarbais or corona. Remove pot from heat; pluck out and discard onion, carrots, garlic, thyme, and bay leaf. Transfer pancetta to a cutting board; let cool slightly, then cut into 1×1/4″ pieces. Add back to pot and let mixture cool.
Meanwhile, sprinkle pork with 1 1/2 tsp. Diamond Crystal or 1 tsp. Morton kosher salt and several grinds of pepper. Heat oil in a large Dutch oven or other heavy pot over medium-high. Working in 2 batches, cook pork, turning once, until browned all over, 10–12 minutes per batch; transfer to a plate as you go.
Reduce heat to medium and place onion, carrot, and garlic in pot; season with salt and pepper. Cook, stirring occasionally, until softened and lightly browned, 8–10 minutes. Return pork to pot and add thyme, bay leaf, tomatoes, and stock. Bring to a boil. Reduce heat, partially cover pot, and simmer gently, skimming fat occasionally, until meat is fork-tender, 1 3/4–2 hours. Pluck out and discard thyme and bay leaf. Let ragout cool slightly.
Combine beans and ragout:
Using a slotted spoon, transfer bean mixture to pot with ragout. Add enough cooking liquid from beans just to cover. Pour remaining bean cooking liquid into an airtight container and chill; you may need it for finishing the cassoulet later. Let ragout mixture cool completely, then cover and chill at least 12 hours.
DO AHEAD: Ragout and beans can be combined 2 days ahead. Keep chilled.
THE DAY OF
Temper and season ragout mixture:
Remove ragout mixture from refrigerator and skim fat from surface; discard. Cover pot and bring ragout to a gentle simmer over medium-low heat. Taste and season conservatively with salt and pepper if needed (the duck will add considerable saltiness when mixed in).
Prepare sausage and breadcrumbs:
Remove reserved duck meat and skin from refrigerator. Let meat come to room temperature.
Meanwhile, arrange skin in a single layer in an 8-qt. Dutch oven or other heavy pot (the same one you’ll cook the cassoulet in). Cook over low heat, turning occasionally, until golden brown and crisp, 20–30 minutes. Using tongs, transfer skin to paper towels and blot away excess fat.
Prick pork sausages all over with a fork and cook in fat in same pot, turning occasionally, until browned all over and cooked through, 12–15 minutes. Transfer to a plate and let cool slightly. Cut into 2″ pieces.
Add breadcrumbs to pot and cook, stirring often, until golden in spots and starting to crisp, about 5 minutes. If breadcrumbs seem very dry or are sticking to the pot, add 1–2 Tbsp. reserved duck fat. Transfer breadcrumbs to a medium bowl and let cool slightly. Add parsley and toss to combine. Wipe out pot and let cool.
Rub inside of cooled pot with cut sides of garlic; ladle in one-third of ragout mixture. Top with half of pork sausage, garlic sausage, and duck meat, then another third of ragout mixture. Top with remaining duck meat and sausages, then remaining ragout mixture. Liquid should come to top of beans. Add reserved bean cooking liquid if needed.
DO AHEAD: Cassoulet can be assembled 1 day ahead; cover and chill. Bring to room temperature before proceeding. Store breadcrumbs and duck skin separately airtight at room temperature.
Preheat oven to 375°F. Scatter two-thirds of breadcrumb mixture over cassoulet.
Bake, uncovered, until a golden crust forms, 25–30 minutes. Remove from oven and use a spoon to break up crust, pressing very gently so crust absorbs a little liquid; smooth surface. Bake until another crust forms, 25–30 minutes; break up again. Repeat process 2 more times (for a total of 4 times). If mixture starts to look dry, moisten with a bit of reserved bean cooking liquid when breaking up the crust.
Top cassoulet with remaining breadcrumb mixture; bake until golden brown, 15–20 minutes. Let rest at least 25 minutes before serving.
Divide cassoulet among bowls; crumble duck skin over.