Main Courses
This al pastor pork shoulder recipe brings the vibrant flavors of Mexico straight to your kitchen with tender, marinated meat and a sweet-tangy pineapple-achiote sauce.
Growing up, I never imagined I'd master the art of al pastor—until I discovered how a few simple ingredients could transform tough pork into melt-in-your-mouth perfection. The secret lies in the marinade, where achiote paste and citrus work their magic over time, infusing the meat with deep, smoky notes.
The process begins with a 3-day marinade that breaks down the pork shoulder, making it impossibly tender. While the meat rests, you'll prepare the signature pineapple-ancho sauce—a perfect balance of sweet, spicy, and tangy that pairs beautifully with the grilled pork.
This isn't just a recipe; it's an experience that brings the lively atmosphere of a Mexican street cart to your backyard or stovetop.
What you'll end up with is juicy, caramelized pork that practically falls off the bone, served with warm corn tortillas, fresh onions, cilantro, and a squeeze of lime.
The aroma alone will have everyone gathering around the table, while the first bite delivers layers of flavor that transport you straight to Mexico. This dish is perfect for gatherings, game days, or when you're craving something bold and satisfying.
Whether you're using a trompo (spit grill) for that authentic char or a simple oven method, the result is the same: restaurant-quality al pastor that's worth every minute of preparation. Let's get started on creating this flavor-packed masterpiece that'll have everyone asking for seconds.
Ingredients for al pastor recipe pork shoulder
Six pounds of pork shoulder and bold Mexican flavors transform into restaurant-quality al pastor skewers.
| Ingredient | Amount | Notes |
|---|---|---|
| Pork Shoulder 🥩 | 4 lb | Bone-in, cut into 2-inch cubes |
| Achiote Paste 🌶️ | ½ cup | Natural or store-bought (check for additives) |
| Guajillo Chiles 🌶️ | 4 whole | Stems/seeds removed, toasted |
| Dried Ancho Chiles 🌶️ | 2 whole | Stems/seeds removed, toasted |
| Fresh Pineapple 🍍 | 2 cups | Finely diced, fresh or canned (no syrup) |
| White Vinegar 🍶 | ¼ cup | White or apple cider vinegar |
| Garlic Cloves 🧄 | 8 cloves | Peeled, smashed for marinade |
| Cumin Seeds 🌿 | 2 tbsp | Toasted for deeper flavor |
| Ground Cumin 🌿 | 1 tbsp | For extra earthiness |
| Oregano 🍃 | 2 tbsp | Mexican oregano preferred |
| Coriander Seeds 🌿 | 1 tbsp | Toasted and ground |
| Bay Leaves 🌿 | 2 whole | Fresh or dried |
| Lime Juice 🍋 | ½ cup | Freshly squeezed |
| Olive Oil 🫒 | ½ cup | Extra-virgin for richness |
| Salt 🧂 | 1 ½ tbsp | Kosher or sea salt |
| Brown Sugar 🍚 | ¼ cup | Light or dark preferred |
| Corn Tortillas 🌽 | 12 whole | For serving, warmed |
| Fresh Cilantro 🌿 | ½ cup | Chopped, for garnish |
| White Onion 🧅 | 1 whole | Thinly sliced, for serving |
The pork shoulder is the star—bone-in, cut into 2-inch cubes for maximum flavor and tenderness. Grab one from the butcher section at Whole Foods or Costco if you're prepping for a crowd. Look for good marbling; it'll keep the meat juicy during that long marinade. Achiote paste is non-negotiable here—Penzeys or La Tienda carry the best. If you can't find it, blend toasted annatto seeds with oil for a DIY version. The chiles? MexGrocer or H-Mart have the dried varieties in bulk—just toast them until fragrant before soaking.
No guajillo chiles? Ancho chiles alone work at double the amount, but the smoky-sweet combo is what makes al pastor sing. Fresh pineapple is ideal, but canned pineapple in water (drained well) saves time. The marinade needs to sit for 3 days, so plan ahead—this isn't a last-minute dish. Swap Mexican oregano for regular oregano at half the amount, but you'll miss that citrusy depth. For the sauce, San Marzano tomatoes make all the difference if you're making it from scratch, but a quality canned version works too.
Marinated pork keeps 5 days in the fridge, but the flavor deepens after 2 days. Freeze portions for up to 3 months—just thaw overnight in the fridge. The sauce can be made ahead and reheated gently. Warm tortillas in a dry skillet for 20 seconds per side—they should be pliable but not soggy. Store leftover pork in its marinade to keep it moist, and reheat in a skillet with a splash of water or broth.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this recipe when I’m too tired to deal with multiple dishes—just sear the pork shoulder, toss in the achiote paste and chiles, then let it slow-cook while you chop pineapple. The smell alone makes me forget about laundry.
- Smoky-Sweet Obsession: That deep, earthy achiote paste meets the bright tang of guajillo and ancho chiles, then the pineapple cuts through it like a citrusy hug. Honestly, the first bite makes me question why I don’t eat this every week.
- Leftover Hero: This pork shoulder is built for leftovers—shred it for tacos the next day, toss it into rice, or even throw it in a breakfast scramble. My freezer’s always stocked with it because it’s that reliable.
- Budget Crowd-Pleaser: A single pork shoulder feeds six, and the chiles and achiote paste stretch like crazy. I’ll be real: it’s my go-to for game nights or when friends drop by unannounced. Everyone leaves happy, and my wallet stays intact.
Step-by-step instructions for al pastor pork shoulder
Transform tough pork shoulder into melt-in-your-mouth skewers with this authentic marinade technique.
Prepare the Achiote-Chile Marinade
Toast the 4 whole guajillo chiles and 2 whole dried ancho chiles in a dry skillet over medium heat for 1-2 minutes until fragrant and slightly puffed. Immediately transfer to a bowl and cover with 2 cups hot water to soften. Let steep for 15 minutes while you prepare the rest.
Meanwhile, toast the 2 tablespoons cumin seeds and 1 tablespoon coriander seeds in the same skillet for 30 seconds until aromatic. Grind them with a mortar and pestle or spice grinder until you have 2 tablespoons ground cumin and 1 tablespoon ground coriander. In a blender, combine the rehydrated chiles with their soaking liquid, 0.5 cup achiote paste, toasted spices, 8 smashed garlic cloves, 0.5 cup lime juice, 0.5 cup olive oil, 1.5 tablespoons salt, 0.25 cup brown sugar, and 2 whole bay leaves. Blend until smooth.
Marinate the Pork Shoulder Overnight
Cut the 4 lb pork shoulder into 2-inch cubes, removing any large fat deposits. Place the pork in a large resealable bag and pour the marinade over it, ensuring each piece is well-coated. Seal the bag and massage the marinade into the meat, pressing out any air bubbles. Refrigerate for at least 12 hours—overnight is ideal—for maximum tenderness and flavor penetration.
Here's the thing about al pastor marinades: they need time to work their magic. The acidity from the lime and vinegar (in the achiote paste) breaks down the muscle fibers, while the chiles and spices infuse deep flavor. Don't rush this step—patience guarantees that fork-tender result you're after.
Cook the Pork to Perfect Tenderness
Preheat your oven to 300°F. Transfer the marinated pork to a Dutch oven or heavy oven-safe skillet, discarding any excess marinade. Cover tightly with a lid or foil and cook for 3-4 hours until the internal temperature reaches 195-203°F and the meat is fork-tender. You'll know it's ready when the connective tissue has melted and the meat pulls apart easily.
Real talk: your oven might run hot or cold, so start checking the temperature after 2 hours. If it's not quite there, add 15-30 minutes more cooking time. The key is low and slow—this transforms tough shoulder into tender, pull-apart perfection.
Assemble the Skewers with Pineapple
While the pork rests, prepare the pineapple. Finely dice 2 cups fresh pineapple and toss with 0.25 cup white vinegar and 2 tablespoons oregano. Let it sit for 10 minutes to mellow the acidity slightly. Thread alternating pieces of pork and pineapple onto skewers, using 12 whole corn tortillas cut into strips for handles if desired.
Here's where it gets fun—the pineapple isn't just a garnish. Its acidity cuts through the richness of the pork, balancing the smoky, spicy marinade. The tortilla strips add that authentic street-food presentation while keeping the skewers easy to handle.
Grill or Broil for Smoky Flavor
Heat a grill or broiler to high heat. Grill the skewers for 3-4 minutes per side until they develop grill marks and the pineapple begins to caramelize. For a smoky touch, place wood chips in the grill or broiler pan. Brush with any remaining marinade during the last minute of cooking.
Don't walk away during this step—watch for the pork to develop a deep mahogany color. The pineapple should be slightly charred at the edges, adding another layer of flavor. Serve immediately with the thinly sliced white onion and chopped fresh cilantro scattered on top for freshness.
Pro Tips For Making Al Pastor Recipe Pork Shoulder
- Braise Low and Slow: I used to rush the pork shoulder and end up with dry meat—don’t make that mistake. Once the achiote paste and chiles have caramelized (about 15 minutes), drop the heat to a simmer and let it cook uncovered for 2.5–3 hours. The liquid will reduce, but the meat will stay tender and absorb all that smoky, fruity flavor.
- Toast Chiles Separately: Guajillo and ancho chiles burn faster than you think. Remove them from the dry heat as soon as they darken—about 30 seconds per side. If you’re impatient and let them blacken, you’ll end up with bitter, ashy paste instead of that bright, tangy depth. Trust me, your sauce will thank you.
- Slice Pineapple Thin: Thick pineapple chunks won’t caramelize—they’ll just sit there like sad, watery guests. Cut them paper-thin (⅛-inch slices) and toss them in the last 10 minutes of cooking. They’ll soften just enough to release juices without turning mushy, and you’ll get that perfect sweet-tart contrast.
- Use a Meat Thermometer: No guessing. Pork shoulder is forgiving, but pull it at 195°F—any higher and it’ll turn to sawdust. If you’re serving it on tacos, let it rest 10 minutes under foil first. The internal temp will drop 5–10 degrees, and the meat will hold together when you slice it against the grain.
Best sauces and condiments for this dish
Pineapple-Achiote Sauce
This signature sauce is the soul of al pastor—sweet, tangy, and just spicy enough to complement the smoky pork. I blend 2 cups diced fresh pineapple, 2 rehydrated ancho chiles, 1 tablespoon achiote paste, 1 tablespoon white vinegar, and 1 teaspoon ground cumin until smooth.
Simmer for 10 minutes on low heat to meld flavors. The pineapple's natural sweetness balances the chiles' heat, while achiote adds that signature golden hue. 🍍
Spicy Onion Relish
For a quick, vibrant topping, slice 1 white onion paper-thin and soak in ¼ cup warm water with ½ teaspoon salt for 15 minutes. Drain, then toss with 1 tablespoon lime juice and 1 teaspoon chili powder.
This bright, slightly spicy relish cuts through the richness of the pork. I love adding a pinch of Mexican oregano for depth—it's a game-changer. 🧅
Creamy Avocado Lime Crema
Blend 1 ripe avocado, ¼ cup sour cream, 2 tablespoons lime juice, 1 tablespoon chopped cilantro, and ½ teaspoon salt until smooth. This creamy, tangy sauce adds a luxurious contrast to the smoky pork.
Serve it on the side or drizzle it over the skewers right before eating. It's the perfect cooling element in this bold dish. 🥑
Pickled Red Onions
Quick-pickle 1 red onion sliced into rings with ½ cup apple cider vinegar, 1 tablespoon brown sugar, and ½ teaspoon salt. Let sit for 30 minutes before serving.
The sweet-tart onions add a refreshing crunch and balance the dish's richness. I often double this recipe—it disappears fast! 🍎
Smoky Chipotle Salsa
For extra heat, blend 2 chipotle peppers in adobo sauce, 1 cup diced tomatoes, ½ cup chopped cilantro, 1 tablespoon lime juice, and ½ teaspoon cumin.
Simmer for 5 minutes to blend flavors. This smoky, spicy salsa is perfect for dipping or drizzling over the skewers. It's a crowd-pleaser for those who love a little kick. 🌶️
Cilantro-Lime Butter
Mix ½ cup softened butter, 2 tablespoons chopped cilantro, 1 tablespoon lime zest, and ½ teaspoon salt**. Spread on warm tortillas or melt over the skewers for a rich, herby finish.
This butter is my secret weapon for adding extra flavor without overpowering the dish. It's simple but always impressive. 🧈
Nutrition facts
Frequently asked questions
Can I use pork shoulder instead of pork loin for al pastor? Pork shoulder is actually the best choice for al pastor because its high fat content keeps the meat juicy during the long marinating and slow cooking process. The shoulder's connective tissue breaks down beautifully, creating that signature tender, pull-apart texture. Just
How do I make al pastor without a trompo (spit grill)?
No trompo? No problem! For authentic flavor, use a grill with skewers or a broiler pan. Thread the marinated pork onto skewers with pineapple chunks, then grill over high heat for 3-4 minutes per side until charred. For oven cooking, place skewers on a rack over a baking sheet and broil for 5-6 minutes, turning once. The key is getting those beautiful grill marks!
What's the secret to tender al pastor pork?
The magic happens in the marinade! The combination of achiote paste, lime juice, and vinegar works together to break down muscle fibers over time. Always marinate for at least 12 hours (overnight is ideal), then cook the pork low and slow until it reaches 195-203°F internally. This combination transforms tough pork into melt-in-your-mouth perfection.
Can I make the pineapple-ancho sauce ahead of time?
Yes! The sauce keeps well in the refrigerator for 3-4 days or can be frozen for up to 3 months. Reheat gently on the stove before serving. The flavors actually improve as they meld together over time, so making it ahead gives you more depth of flavor. Just store it in an airtight container to maintain freshness.
What's the best way to serve al pastor?
Serve with warm corn tortillas, fresh toppings like sliced white onions, cilantro, and lime wedges. For extra authenticity, offer the pineapple-ancho sauce on the side for dipping. This dish is perfect for tacos, burritos, or even as a filling for quesadillas. The contrast of warm tortillas with cool toppings makes every bite unforgettable!
