Cochinita pibil is tender, achiote-stained pork with bright citrus depth, soft leaf aroma, and sharp pickled onions on top. What makes it taste balanced instead of heavy is the classic Yucatán contrast between rich pork and sour-orange-style acidity.

Cochinita pibil is one of those dishes that feels vivid before you even take a bite. The pork is deeply savory and spoon-tender, with a brick-red color from achiote and a bright, tangy edge from citrus. Instead of tasting bluntly rich, it lands lively and layered. That mix of earthy spice, gentle bitterness, and fresh acidity is what gives the dish its signature character and keeps each bite interesting.
It settles naturally into a table of warm tortillas, pickled red onions, and hot chiles. The onions matter just as much as the pork. Their crunch and sharpness cut through the lush meat, while habanero brings the kind of clean heat that makes the whole plate feel brighter. The overall effect is generous and a little festive, but still casual enough for taco night or a weekend family dinner.
What people love most is how complete the flavor feels. Achiote brings color and a warm, savory backbone. Sour orange, or a good home-style citrus blend, adds the lift that keeps the pork from feeling flat. Banana leaf is part of the classic format, and it gives the dish a more distinctive wrapped-roast aroma while helping the meat stay succulent. The finished pork is juicy, glossy, and easy to pile into tortillas with plenty of bright toppings.
What to Serve With: Warm corn tortillas are the classic choice. Pickled red onions and habanero on the side make the richness feel lighter and sharper. White rice also fits well if you want a fuller plate.

Table of contents
Cochinita Pibil Ingredients
Pork shoulder – Choose a well-marbled boneless cut rather than pork loin. The extra fat keeps the shredded meat juicy and gives the pan juices more body. Pork butt works beautifully too, and usually tastes a little richer.
Achiote paste – Look for a firm red paste or brick made with annatto and spices, not a thin bottled sauce. It gives the dish its signature color and earthy depth. A drier block may need a full minute of blending to turn smooth.
Citrus – Sour orange is traditional, but a blend of orange, lime, and a little grapefruit gets very close in a home kitchen. That mix gives brightness, enough acidity, and a touch of bitterness. If you use only sweet orange juice, the pork will taste rounder and less vivid.
Banana leaves – Frozen leaves are usually the easiest to find in Latin or Asian markets. They are part of the classic preparation and help the roast feel more aromatic and enclosed. Parchment plus foil still gives excellent texture, but the finished dish tastes a little less rounded.

Storage
Fridge – Cool within 2 hours, then refrigerate the pork with its juices in a covered container for up to 4 days.
Freezer – Freeze in its juices for up to 3 months for best quality.
Reheat – Warm covered at 300°F / 150°C with a splash of reserved juices, or reheat gently on the stove over low heat. Reheat leftovers to 165°F / 74°C.
Allergens & Substitutions
Contains: Pork, citrus, corn if serving with corn tortillas
Banana leaf: Optional – Use parchment plus foil instead. The pork stays tender, but the aroma is less earthy and distinctive.
Grapefruit juice: Flexible – Replace with 2 tbsp / 30 ml more orange juice plus 1 tbsp / 15 ml more lime juice. The marinade will taste a little sweeter and less bitter.
Habanero: Optional – Leave it out for a milder finish, or use 1 jalapeño for fresher, gentler heat.
Tortillas: Corn is traditional – Flour tortillas work, but the meal tastes softer and less toasty. Use certified gluten-free corn tortillas if needed.
Cochinita Pibil
- Total Time: 8h 45 min (or 3h 55 min without marinating)
- Yield: 6 servings
Description
Cochinita pibil is tender, achiote-stained pork with bright citrus depth, soft leaf aroma, and sharp pickled onions on top. What makes it taste balanced instead of heavy is the classic Yucatán contrast between rich pork and sour-orange-style acidity.
Ingredients
🍊 Marinade
- 1 cup / 240 ml orange juice
- ½ cup / 120 ml fresh lime juice
- ¼ cup / 60 ml grapefruit juice (or more orange juice)
- 4 garlic cloves
- 2 tsp / 12 g fine sea salt
- 1 tsp / 2 g dried Mexican oregano (or Mediterranean oregano)
- 1 tsp / 2 g ground cumin
- ½ tsp / 1 g ground black pepper
- ¼ tsp / 0.5 g ground cinnamon
- ⅛ tsp / 0.3 g ground cloves
🐖 Pork
- 4 lb / 1.8 kg boneless pork shoulder
- 3½ oz / 100 g achiote paste
- 2 bay leaves
- 1 large banana leaf (or parchment plus foil; less aroma)
- ½ cup / 120 ml water
🌮 To Serve
- 1 red onion, very thinly sliced
- ¼ cup / 60 ml fresh lime juice
- 2 tbsp / 30 ml orange juice
- ½ tsp / 3 g fine sea salt
- 1 habanero, thinly sliced (optional)
- 12 corn tortillas
Instructions
Marinate
- Cut the pork into large 2- to 3-inch pieces and pat it dry.
- In a blender, combine the orange juice, lime juice, grapefruit juice, garlic, salt, oregano, cumin, black pepper, cinnamon, cloves, and achiote paste. Blend until very smooth and thick, scraping down once or twice if needed.
- Coat the pork all over with the marinade. Cover and refrigerate for at least 4 hours and up to 12 hours. Take it out 30 minutes before baking so it loses some of the refrigerator chill.
Wrap for the Oven
- Heat the oven to 325°F / 165°C with a rack in the lower-middle position.
- Rinse the banana leaf if needed and pat it dry. Soften it until pliable by passing it briefly over a gas flame with tongs, or warm it on a sheet pan in the oven for 3 to 5 minutes. If you do not have banana leaf, line the pan with parchment instead.
- Line the Dutch oven or baking dish with overlapping banana leaf. Add the pork and all of its marinade, then tuck in the bay leaves. Fold the leaf over the meat. Pour the water around the sides of the pan, not directly over the leaf, and cover tightly with a lid or foil.
Roast and Finish
- Bake for 3 to 4 hours, until a skewer slides into the thickest piece with almost no resistance and the pork pulls apart easily with a fork. Pork is safe at 145°F / 63°C with a rest, but for this dish you are looking for much deeper tenderness than that.
- Let the pork rest for 20 minutes. Lift out the meat and discard the bay leaves and banana leaf. Pour the pan juices into a bowl and skim off excess fat if you like.
-
(Optional) Upgrade: Reduce a cup of the pan juices until they taste a little darker and more concentrated, then fold a small splash back into the shredded pork right before serving. It makes the meat taste deeper and more savory without losing that bright citrus edge.
- Shred the pork into large, juicy strands. Add back enough pan juices to make it glossy and moist. Taste and add a pinch more salt if it needs it.
- Toss the red onion with the lime juice, orange juice, salt, and habanero, then let it sit 10 to 15 minutes. Warm the tortillas. Serve the pork with the onions on top. Success looks like glossy, brick-red meat that collapses under light pressure instead of pushing back.
Notes
- Let the shredded pork sit in a little of its warm juices for a few minutes before serving, because it soaks up flavor fast once it is pulled.
- If you are making this ahead, chill the pork in its juices and reheat it the next day for an even rounder, more settled flavor.
- A small pinch of extra salt right at the end often does more for the pork than salting the onions more heavily.
- Warm the tortillas well and keep them wrapped, because cochinita is especially juicy and a dry tortilla is more likely to crack.
- If your onions are very sharp, rinse the slices quickly before pickling so they land bright rather than aggressive.
- Use tongs to lift the pork out of the pan first, then decide how much juice to add back, so you stay in control of the final texture.
- A little habanero on the side goes a long way here, because the clean heat makes the citrus and achiote taste even livelier.
- This is an especially good make-ahead dish for a gathering, because the pork reheats beautifully and the onions can be prepped in advance.
- Prep Time: 25 min
- Marinate + Rest: 4h 50 min
- Cook Time: 3h 30 min
- Cuisine: Mexican


Cochinita Pibil Variations
- Chicken Pibil
Change: Use 3 lb / 1.4 kg bone-in, skin-on chicken thighs instead of pork shoulder. Marinate for 2 to 8 hours. Roast at 325°F / 165°C for 1½ to 1¾ hours, until the thickest pieces reach 175°F / 80°C.
Result: Lighter and quicker, with the same achiote-citrus profile and juicy texture, though less rich than the pork version. - Pork Belly Blend
Change: Replace 1 lb / 450 g of the pork shoulder with 1 lb / 450 g pork belly. Keep everything else the same and roast until both meats shred easily, about 3½ to 4 hours.
Result: Richer, silkier, and more luxurious, with fuller pan juices from the extra fat.
Instant Pot Option
Keep the pork in large chunks, blend the marinade as written, and pressure cook on High for about 55 to 60 minutes with a 15-minute natural release. You can still tuck in banana leaf if you want some of that enclosed aroma, but it is not essential in the pressure cooker. The pork will come out very tender, though the flavor is a little less softly roasted than the oven version. After shredding, reduce the cooking liquid on Sauté for a few minutes if it tastes thin, then fold just enough back into the meat to make it glossy.
Nutrition & Dietary Information
Nutrition Facts
Low carb | ❌ |
Keto | ❌ |
High Protein | ✅ |
Gluten free | ✅ |
Low sugar | ✅ |
Dairy-free / Lactose free | ✅ |
Vegetarian | ❌ |
Vegan | ❌ |
Low sodium | ❌ |
Low Fat | ❌ |
Paleo | ❌ |
Pescatarian | ❌ |
Nut Free | ✅ |
Egg Free | ✅ |
Soy Free | ✅ |
Sesame free | ✅ |
Nutrition information is an estimate and may vary based on ingredients, brands, and portion sizes. This information is not intended as medical advice. For medical or dietary needs, calculate with your specific ingredients and consult a professional.
Diet-Friendly Swaps
Low Carb: Serve the cochinita in lettuce cups or over shredded cabbage instead of corn tortillas.
Keto: Skip the tortillas and serve the pork with avocado, pickled onions, and a little extra lime.
Low Sodium: Cut the salt in the marinade, season more lightly at the end, and lean on the pickled onions and citrus for brightness.
Paleo: Skip the tortillas and serve the pork with lettuce wraps, cabbage, or cauliflower rice instead.
Common Problems & Fixes
Likely cause: The citrus blend leaned too sweet, especially if the grapefruit was skipped and replaced with more orange juice.
Fix: Keep enough lime in the mix and add that little bitter edge from grapefruit when you can, because the sour-orange-style balance is what keeps cochinita tasting vivid instead of heavy.
Likely cause: It is cooked through, but not quite far enough for the collagen to fully relax.
Fix: Keep roasting until a skewer slides in with almost no resistance and the pork collapses easily rather than pushing back.
Likely cause: The paste was dense and needed more blending time to fully break down.
Fix: Blend until completely smooth and thick, scraping the blender down as needed so the color and seasoning coat the meat evenly.
Likely cause: Too much rendered fat was stirred back into the shredded meat along with the pan juices.
Fix: Add back enough juices to make the pork glossy and moist, but skim extra fat first so the flavor stays rich without feeling heavy.
Likely cause: They were sliced too thickly, or they did not sit in the citrus-salt mix long enough to soften.
Fix: Slice them very thin and give them the full rest so they mellow slightly while keeping their sharp crunch.
