Cochinita Pibil with Green Rice and Charro Beans

Updated November 5, 2026

Total time
4 hr 15 min
prep 30 min · cook 3 hr 45 min
Serves
6
portions as written

Jump to recipe

Cochinita Pibil with Green Rice and Charro Beans

Cochinita pibil is a classic Yucatán dish of slow-roasted pork marinated in citrus and achiote, traditionally cooked in a pit. This version uses the oven and pairs the tender, tangy pork with two classic Mexican sides: bright, herbaceous green rice and hearty charro beans. The combination of flavors and textures—rich, savory pork, fresh rice, and smoky beans—makes a complete, satisfying meal that’s easier than it looks.

Ingredients

For the Cochinita Pibil

  • 3 lb (1.4 kg) pork shoulder, cut into 3–4 large chunks
  • 3 oz (85 g) achiote paste (about 1/2 cup)
  • 1/2 cup (120 ml) sour orange juice (or 1/4 cup orange juice + 1/4 cup lime juice)
  • 4 cloves garlic, minced
  • 1 tsp (5 g) ground cumin
  • 1 tsp (5 g) dried oregano
  • 1 tsp (5 g) salt
  • 1/2 tsp (2 g) black pepper
  • 2 bay leaves
  • 1 medium white onion, sliced
  • Banana leaves, for wrapping (optional, or use parchment paper)

For the Green Rice

  • 2 cups (370 g) long-grain white rice
  • 2 cups (60 g) fresh spinach
  • 1/2 cup (20 g) fresh cilantro, stems included
  • 1/4 cup (60 g) chopped white onion
  • 2 cloves garlic
  • 1 poblano pepper, roasted, seeded, and peeled
  • 3 cups (710 ml) chicken or vegetable broth
  • 2 tbsp (30 ml) vegetable oil
  • Salt to taste

For the Charro Beans

  • 1 lb (450 g) pinto beans, dried (about 2 cups)
  • 6 cups (1.4 L) water
  • 4 slices bacon, chopped
  • 1/2 cup (80 g) diced white onion
  • 2 cloves garlic, minced
  • 1 tomato, diced
  • 1 jalapeño, seeded and minced
  • 1/2 cup (8 g) chopped cilantro
  • 1 tsp (5 g) salt, plus more to taste

Instructions

Make the Cochinita Pibil

  1. In a blender, combine the achiote paste, sour orange juice, garlic, cumin, oregano, salt, and pepper. Blend until smooth.
  2. Place the pork chunks in a large bowl or zip-top bag. Pour the marinade over the pork and toss to coat. Cover and refrigerate for at least 2 hours, or overnight for deeper flavor.
  3. Preheat the oven to 325°F (165°C).
  4. Line a Dutch oven or deep baking dish with banana leaves or parchment paper. Place the pork and marinade in the dish, scatter the onion slices and bay leaves on top, and cover tightly with more banana leaves or a lid.
  5. Bake for 3 to 3 1/2 hours, until the pork is fork-tender and shreds easily. The internal temperature should read at least 145°F (63°C) (USDA FSIS safe minimum for pork), but it will be much higher after braising.
  6. Remove the pork from the oven and let rest for 10 minutes. Shred with two forks, discarding any large fat pieces and the bay leaves.

Make the Green Rice

  1. Rinse the rice under cold water until the water runs clear. Drain well.
  2. In a blender, combine the spinach, cilantro, onion, garlic, roasted poblano, and 1 cup (240 ml) of the broth. Blend until smooth.
  3. Heat the oil in a medium saucepan over medium heat. Add the rice and toast, stirring frequently, until the grains are lightly golden, about 3 minutes.
  4. Pour the green puree into the rice and stir. Add the remaining 2 cups (475 ml) broth and salt to taste. Bring to a boil, then reduce heat to low, cover, and simmer for 18–20 minutes, until the liquid is absorbed and the rice is tender.
  5. Remove from heat and let stand, covered, for 5 minutes. Fluff with a fork.

Make the Charro Beans

  1. Pick over the beans, discarding any stones. Rinse well.
  2. In a large pot, combine the beans and water. Bring to a boil, then reduce heat and simmer, partially covered, for 1 1/2 to 2 hours, until the beans are tender. Add more water if needed to keep them covered.
  3. While the beans cook, cook the bacon in a skillet over medium heat until crisp. Remove bacon with a slotted spoon, leaving the fat in the skillet.
  4. Add the onion and garlic to the skillet and sauté until soft, about 3 minutes. Add the tomato and jalapeño and cook for 2 more minutes.
  5. When the beans are tender, stir in the bacon, onion mixture, and cilantro. Add salt to taste. Simmer for 10 more minutes to blend flavors.

Tips

  • Substitute for sour orange: If you can’t find sour oranges, mix equal parts fresh orange juice and lime juice. This gives a similar tangy, slightly sweet flavor.
  • Don’t skip the marinade time: Even 2 hours makes a difference, but overnight is best. The acid and achiote need time to penetrate the pork.
  • Roasting the poblano: To roast a poblano, place it directly over a gas flame or under a broiler until charred, then steam in a covered bowl for 10 minutes. Rub off the skin, remove seeds and stem.
  • Bean cooking liquid: The charro beans should be brothy, not dry. Add extra water or broth if they look too thick before serving.

Serving Suggestions

Serve the cochinita pibil alongside green rice and charro beans. Garnish with pickled red onions, fresh cilantro, and a squeeze of lime. Warm corn tortillas on the side are perfect for making tacos with any leftovers.

Variations

  • Chicken pibil: Substitute boneless, skinless chicken thighs for the pork. Cook for 1 1/2 to 2 hours, until tender.
  • Spicy green rice: Add 1/2 chopped jalapeño (seeds removed if you prefer less heat) to the blender with the other green ingredients.
  • Vegetarian charro beans: Omit the bacon and use 2 tbsp vegetable oil. Add 1 tsp smoked paprika to the onion mixture for a smoky flavor.

Storage and Reheating

Store each component separately in airtight containers. The pork and beans will keep for 3–4 days in the refrigerator; the rice for 2–3 days. Reheat the pork in a covered skillet with a splash of water or broth over medium heat until hot. Reheat the beans in a pot, adding water if needed. The rice can be microwaved or reheated in a pan with a little oil. All leftovers should be reheated to 165°F (74°C) for food safety. You can also freeze the pork and beans for up to 3 months.

Frequently Asked Questions

Can I use a slow cooker for the cochinita pibil? Yes. After marinating, place the pork and marinade in a slow cooker and cook on low for 8–10 hours, or high for 5–6 hours, until tender.

What is achiote paste and where can I find it? Achiote paste is a blend of ground annatto seeds, spices, and vinegar, sold in Mexican grocery stores and online. If unavailable, substitute 2 tbsp ground annatto mixed with 1 tbsp white vinegar and 1 tsp each of cumin and oregano.

Can I make the green rice without a blender? You can finely chop the spinach, cilantro, onion, garlic, and roasted poblano, then sauté them briefly before adding the broth. The color won’t be as vibrant, but the flavor will be similar.

Why are my charro beans tough? Old beans may never soften completely. Also, adding salt or acidic ingredients (like tomato) too early can slow cooking. Add salt and tomato only after the beans are tender.

Can I use canned beans for the charro beans? Yes, for a quicker version, use 4 cans (15 oz each) of pinto beans, drained and rinsed. Skip the boiling step and simmer with the bacon mixture and 1 cup of water for 15 minutes.

What can I serve with this if I don’t want rice and beans? The cochinita pibil is delicious in tacos, tortas, or over a simple salad. You can also serve it with warm corn tortillas and pickled onions.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).