
Yucatán's iconic slow-roasted pork marinated in achiote paste and bitter orange juice, wrapped in banana leaves, until impossibly tender and ruby-red.
Cochinita pibil is the defining dish of the Yucatán Peninsula and one of the great pork preparations of the Americas. The name combines Spanish cochinita ('little pig') with Mayan pibil (cooked in a pib, an underground earth oven), preserving the dish's pre-Hispanic Mayan roots even as Spanish pork and citrus completed the recipe in the 16th century. A bone-in pork shoulder or whole young pig is marinated overnight in recado rojo — a brick-red paste of ground achiote (annatto) seeds, garlic, allspice, oregano, cumin, cinnamon and the juice of bitter Seville oranges (naranja agria). The pork is then wrapped tightly in banana leaves, sealed in a pit lined with hot stones, and roasted underground for 8 to 10 hours until the meat shreds at the touch of a fork and stains brilliant red-orange from the achiote. Modern home cooks bypass the pit and use a heavy Dutch oven or covered roasting pan in a low oven, which produces nearly identical results given enough time. The shredded pork is served with warm corn tortillas, pickled red onions soaked in sour orange and habanero ('cebollas en escabeche'), and the rocket-hot chiltomate or salsa xnipec on the side. Each taco is a perfect balance: rich, citrusy, smoky from the achiote, sharp from the onions, and burning from the habanero. The dish is a centerpiece of Yucatecan weddings, Sunday lunches, and the Day of the Dead.
Serves 8
In a blender, combine achiote paste, bitter orange juice, garlic, oregano, cumin, allspice, cinnamon, salt and pepper. Blend until completely smooth and a brilliant brick-red. The marinade should be the texture of thick pourable cream — add a splash more juice if too thick.
Score the pork shoulder skin in a 2 cm grid (don't cut into the meat). Place in a large nonreactive bowl or zip bag and rub the marinade into every crevice, including under the skin. Refrigerate at least 12 hours, ideally 24. The pork will turn red-orange to its core.
Pass each banana leaf briefly over a gas flame or hot dry pan — they become pliable and slightly aromatic. Wipe with a damp cloth to clean. You'll need enough overlapping leaves to fully wrap the pork in a double layer.
Line a heavy Dutch oven or deep roasting pan with overlapping banana leaves, letting the ends hang over the sides. Place the marinated pork in the center along with all remaining marinade. Fold the overhanging leaves over the top to fully enclose the pork in a leafy packet.
If banana leaves are unavailable, use heavy-duty foil with 2 tablespoons of water added to mimic the steaming environment.
Cover the pot tightly with its lid (and a layer of foil under the lid for extra seal). Roast at 150°C / 300°F for 4 hours, or until the meat shreds easily with a fork and pulls cleanly from the bone. Resist opening the pot — the steam is doing the work.
While the pork roasts, combine sliced red onion, bitter orange juice or lime juice, sliced habanero and salt in a bowl. Massage with your hands for 30 seconds. Let sit at room temperature 2 hours — the onions turn neon pink and the habanero infuses just enough heat.
Unwrap the pork carefully (the steam is fierce). Transfer the meat to a board and shred with two forks, discarding the bone. Strain the cooking juices into a saucepan and reduce by half over high heat — about 8 minutes. Pour the concentrated juice back over the shredded pork and toss to coat.
Warm corn tortillas on a dry skillet or directly over a gas flame. Pile pork onto each tortilla, top with pickled red onions and a few slices of habanero (or salsa xnipec if you've made it). Squeeze with lime and eat immediately — the tortilla should be warm and the contrast of hot pork and acid-cold onion is the dish's soul.
Real achiote paste (Yucateca brand from Mexico is widely available online) is essential for the color and flavor. Don't substitute powdered annatto — the texture and depth are different.
Bitter Seville oranges are traditional. If you can't find them, the 2:1 regular orange + 1:1 lime + splash of vinegar combination is the standard Mexican home substitute.
Banana leaves contribute a subtle floral aroma that is part of the dish. Check Latin American or Asian groceries; they're sold frozen and rinse fine after defrost.
The dish is incomplete without the pickled red onions. Don't skip them — the acid cuts through the rich pork and is the textural counterpoint.
Whole young pig (lechón): traditional Mayan version cooked in a true pib for special occasions — same marinade, multiplied 6x.
Cochinita en pibil with chicken (pollo pibil): substitute a whole chicken, reduce cook time to 90 minutes — a lighter weekday version.
Sous vide: vacuum-seal pork with marinade and cook at 74°C / 165°F for 24 hours — extremely tender if untraditional.
Salbutes pibil: pile shredded pork on small fried masa cakes (salbutes) instead of soft tortillas — a Yucatecan street version.
Refrigerate shredded pork in its reduced juices for up to 5 days. Freeze in 500 g portions in zip bags for up to 3 months. Reheat in a covered pan over low heat with a splash of orange juice; never microwave on high.
Cochinita pibil descends from the pre-Hispanic Mayan technique of pit-cooking meat in underground ovens (pib), originally with venison or wild pig. After the Spanish introduced domestic pigs, citrus and achiote-based recados in the 16th century, the dish evolved into its modern form and became central to Yucatecan cuisine and identity.
Yes — set on low for 8 hours after marinating. Line the cooker with foil since most slow cookers don't accommodate banana leaves well. The result is excellent if slightly less smoky than oven-roasted.
You can make recado rojo from scratch: grind 2 tbsp annatto seeds with 6 garlic cloves, 1 tbsp Mexican oregano, 1 tsp each cumin and allspice, 0.5 tsp cinnamon, 1 tbsp salt, and enough sour orange juice to form a thick paste. Not as concentrated as the Yucateca brand but workable.
The pork itself is not spicy — flavorful and tangy but mild. The habanero heat comes only from the pickled onions and the optional salsa xnipec served alongside, so each diner controls their heat level.
Yes — set up indirect heat in a kettle grill (charcoal banked to one side), wrap pork in banana leaves and foil, and cook at 150°C / 300°F for 5–6 hours adding wood chunks occasionally. This is the closest home approximation to a true pib.
Per serving (320g) · 8 servings total
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →Join the conversation
Sign in to leave a comment and save your favourite recipes