Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 lb (900 g) boneless pork shoulder, sliced 1/8 inch
- 1 small ripe pineapple, peeled/cored (reserve 1 cup diced; 2–3 rings for roasting)
- 12–14 corn tortillas (5–6-inch)
- Marinade: 6 dried guajillo chiles (18 g), 2 tbsp achiote paste (30 g), 5 garlic cloves, 1/3 cup white vinegar (80 ml), 1/2 cup fresh orange juice (120 ml), 1/4 cup pineapple juice (60 ml), 1 chipotle in adobo + 1 tsp sauce (optional), 2 tsp kosher salt, 1 tsp ground cumin, 1 tsp Mexican oregano, 1/2 tsp black pepper, 1/4 tsp cinnamon, pinch ground clove, 2 tbsp neutral oil
- Salsa roja: 4 Roma tomatoes, 3 dried arbol chiles, 1/4 white onion, 2 garlic cloves, 1 tbsp vinegar, 1 tbsp oil, 1 tsp kosher salt
- Toppings: 1 small white onion (diced), 1/2 cup chopped cilantro, 2 limes (wedges)
Do This
- 1. Soak guajillos 10 minutes in hot water; blend with remaining marinade ingredients until smooth.
- 2. Freeze pork 20 minutes, slice thin, coat with marinade; refrigerate 4–24 hours.
- 3. Build a home trompo: skewer stacked pork on a vertical skewer over a foil-lined sheet pan, cap with a pineapple ring.
- 4. Roast at 425°F/220°C for 75–90 minutes to 165°F internal; broil 3–5 minutes to char.
- 5. Char tomatoes, onion, garlic, and arbol chiles; blend with vinegar and salt, simmer 5 minutes for salsa roja.
- 6. Pan-sear 1 cup diced pineapple until caramelized; warm tortillas on a dry skillet.
- 7. Shave pork, chop, and pile onto tortillas with pineapple, onion, cilantro, salsa roja, and lime.
Why You’ll Love This Recipe
- Restaurant-quality al pastor with authentic achiote-guajillo flavor, made at home.
- Hands-off roasting method that mimics a trompo with beautifully caramelized edges.
- Bright, smoky salsa roja and seared pineapple for a perfect sweet-heat balance.
- Clear steps, make-ahead friendly, and weeknight-adaptable with skillet or grill options.
Grocery List
- Produce: 1 small pineapple, 2 white onions, 1 bunch cilantro, 4 Roma tomatoes, garlic, 2 limes
- Dairy: None (optional: queso fresco for serving)
- Pantry: Corn tortillas, dried guajillo chiles, dried arbol chiles, achiote paste, chipotle in adobo (optional), Mexican oregano, ground cumin, cinnamon, ground clove, kosher salt, black pepper, neutral oil, white vinegar, orange juice, pineapple juice (or use juice from the pineapple)
Full Ingredients
Marinated Pork al Pastor
- 2 lb (900 g) boneless pork shoulder (butt), partially frozen and sliced 1/8 inch
- 1 small pineapple, peeled and cored (2–3 rings for roasting, plus 1 cup small dice for topping)
- 6 dried guajillo chiles (about 18 g), stemmed and seeded
- 2 tbsp achiote paste (30 g)
- 5 garlic cloves
- 1/3 cup white vinegar (80 ml)
- 1/2 cup fresh orange juice (120 ml)
- 1/4 cup pineapple juice (60 ml)
- 1 chipotle in adobo + 1 tsp adobo sauce (optional for smoky heat)
- 2 tsp kosher salt (use 1 1/2 tsp if using Morton’s)
- 1 tsp ground cumin
- 1 tsp dried Mexican oregano
- 1/2 tsp freshly ground black pepper
- 1/4 tsp ground cinnamon
- 1/8 tsp ground clove
- 2 tbsp neutral oil (canola or avocado)
Salsa Roja
- 4 Roma tomatoes (about 500 g)
- 3 dried arbol chiles (or 1–2 for milder)
- 1/4 white onion
- 2 garlic cloves, unpeeled
- 1 tbsp white vinegar
- 1 tbsp neutral oil
- 1 tsp kosher salt, or to taste
Tacos & Toppings
- 12–14 corn tortillas (5–6-inch)
- 1 small white onion, finely diced
- 1/2 cup cilantro, chopped
- 2 limes, cut into wedges

Step-by-Step Instructions
Step 1: Partially freeze and thinly slice the pork
Place the pork shoulder in the freezer for 20–30 minutes until firm at the edges. This makes clean, even slicing easier. Using a sharp knife, slice the pork across the grain into very thin 1/8-inch slices. Trim any large, hard fat caps but keep some fat for flavor and browning.
Step 2: Make the achiote–guajillo marinade
Heat 1 cup of water to just below a boil. Add the guajillo chiles and soak 10 minutes until pliable. In a blender, combine softened guajillos (drained), achiote paste, garlic, vinegar, orange juice, pineapple juice, chipotle with adobo (optional), salt, cumin, oregano, black pepper, cinnamon, clove, and oil. Blend on high until perfectly smooth, 45–60 seconds, scraping the sides as needed.
Step 3: Marinate the pork
In a large bowl, toss sliced pork with all the marinade, coating each piece. Cover and refrigerate 4–24 hours (12 hours is ideal) to deeply season the meat.
Step 4: Build a home trompo and roast
Heat the oven to 425°F (220°C). Line a rimmed sheet pan with foil. For a vertical skewer, press a halved onion or small potato cut-side down on the pan as a base and insert a 12-inch metal skewer through it so it stands upright. Stack marinated pork slices onto the skewer, pressing to compact and form a tapered cone. Cap the stack with a pineapple ring. Roast 60 minutes, rotating the pan halfway. Continue roasting 15–30 minutes more, until the edges are browned and an instant-read thermometer inserted into the center reads at least 165°F (74°C). For extra char, broil 3–5 minutes, watching closely.
No vertical skewer? Tightly stack pork in a 9×5-inch loaf pan and roast 75–90 minutes; invert onto the sheet pan, add a pineapple ring on top, and broil 3–5 minutes to char before shaving.
Step 5: Make salsa roja while the pork roasts
In a dry skillet over medium-high heat, char the tomatoes, onion wedge, and unpeeled garlic until blistered and softened, 8–10 minutes (turn occasionally). Toast the arbol chiles for 15–20 seconds per side until fragrant. Blend tomatoes, peeled garlic, onion, toasted arbol chiles, vinegar, and salt until smooth. Heat oil in the same skillet over medium, pour in the sauce, and simmer 5 minutes. Adjust salt to taste and set aside.
Step 6: Caramelize pineapple
Dice 1 cup of pineapple into small cubes. Heat a skillet over medium-high with a drizzle of oil. Cook the pineapple, undisturbed, 2 minutes to sear, then toss and cook 2–3 minutes more until deep golden and caramelized. Remove from heat.
Step 7: Warm the tortillas
Heat a dry skillet or griddle over medium-high. Warm tortillas 45–60 seconds per side until pliable with light char. Keep them wrapped in a clean towel or tortilla warmer so they stay soft and steamy.
Step 8: Shave, crisp (optional), and assemble
Let the roasted pork rest 5–10 minutes. Using a sharp knife, shave thin slices from the crisp exterior, then chop lightly. For extra-tender crisp bits, quickly sizzle the shavings on a hot skillet for 30–60 seconds. Pile pork onto tortillas and top with caramelized pineapple, diced onion, cilantro, spoonfuls of salsa roja, and a squeeze of lime.
Pro Tips
- Ultra-thin slices are key: partially freezing the pork gives you deli-thin slices for fast roasting and better char.
- Compact the stack firmly so it cooks evenly and holds shape. A pineapple ring on top bastes the meat with juices.
- If your oven runs cool, extend roast time; you want browned edges before shaving. Broil briefly for that trompo-style char.
- Warm, steamy tortillas make better tacos: stack them in a towel or warmer and serve immediately.
- Salt note: if using Morton’s kosher salt, reduce to about 1 1/2 tsp in the marinade; Diamond Crystal measures fluffier.
Variations
- Skillet al pastor: Cook marinated pork in batches on a ripping-hot cast-iron skillet, 2–3 minutes per side until charred and cooked through; chop and serve.
- Grilled al pastor: Thread marinated slices onto two parallel skewers or grill baskets; cook over medium-high direct heat, turning for even char, to 165°F internal.
- Chicken al pastor: Swap pork for 2 lb boneless, skinless chicken thighs; marinate 4–12 hours, then roast at 425°F for 25–30 minutes or grill to 175°F in the thickest part.
Storage & Make-Ahead
Marinate pork up to 24 hours ahead (36 hours max). Leftover cooked pork keeps 4 days refrigerated or up to 3 months frozen; reheat in a hot skillet to re-crisp. Salsa roja keeps 5–7 days chilled. Warm tortillas just before serving; if reheating, steam briefly in a damp towel in the microwave or rewarm on a skillet.
Nutrition (per serving)
Approximate for 3 tacos: 780 calories; 39 g protein; 63 g carbohydrates; 39 g fat; 8 g fiber; 1,100–1,300 mg sodium. Values will vary with tortilla size, trimming, and how much marinade is retained.

