This post may contain affiliate links. Please read our disclosure policy.

This juicy grilled skirt steak is marinated in a flavorful mixture of orange and lime juice, soy sauce, Worcestershire, garlic and spices. Paired with a bright cilantro pesto, it’s perfect served with crispy mexican potatoes or thinly sliced to make tacos!

Thinly sliced grilled skirt steak on a cutting board topped with cilantro pesto.

A Note from Isabel

Grilling season is my absolute favorite time of year, and this grilled skirt steak with cilantro pesto has quickly become one of our most-requested summer meals. I was looking for an alternative to my usual chimichurri sauce and wanted to create something with more Mexican-inspired flavors.

I’d seen cilantro pesto recipes before, but they never felt quite right to me – too Italian, not enough brightness. So I decided to make my own version using cotija cheese instead of the traditional Parmesan, plus plenty of lime juice and garlic. The result is this vibrant, herbaceous pesto that perfectly complements the bold, citrusy marinade on the skirt steak.

My husband has become completely obsessed with it. He puts it on everything – rice, grilled chicken, roasted potatoes, you name it.

Skirt steak is perfect for grilling because it’s thin, cooks super fast, and gets this amazing char on the outside while staying juicy inside. Paired with the pesto, it’s become our go-to when we want something that feels special but doesn’t require a lot of fuss.

Ingredients You’ll Need

Grilled skirt steak marinade ingredients
  • Skirt steak: Great for grilling because it absorbs flavors quickly and cooks quickly, too!
  • Marinade ingredients: Orange juice, lime juice, soy sauce, Worcestershire sauce, olive oil, vinegar, garlic, cumin, chili powder, salt, and pepper for deep flavor.
  • Cilantro pesto: Fresh cilantro, cotija cheese, red onion, almonds, garlic, salt, black pepper, olive oil, and lime juice blended into a fresh, herb-packed sauce.

(See the recipe card below for the full recipe.)

How to Make It

Marinate: Add the meat and marinade to a large gallon-size zip-top bag, seal, and let marinate in the fridge for 2 to 6 hours.

Grill: Preheat the grill (gas or charcoal) and cook over high heat for 3-5 minutes per side, until nicely charred but still juicy inside.

Grilled skirt steak on a charcoal grill

Make the pesto: Blend all the ingredients in a blender or food processor.

Cilantro pesto for topping on grilled skirt steak

Rest and serve: Allow the steak to rest before slicing against the grain. Top generously with the pesto.

Recipe Tips

  • Marinate ahead: Letting the steak marinate longer enhances its tenderness and flavor. Overnight is best.
  • Slice against the grain: This keeps the steak extra tender and easy to chew. I also like to slice it super thin.
  • Make the pesto in advance. It keeps well in the fridge for several days.

Frequently Asked Questions

What can I substitute for skirt steak?

Flank steak or hanger steak both work beautifully as substitutes.

What other nuts can I use instead of almonds?

You can substitute almonds with walnuts, pine nuts, cashews, or pecans.

Can I make the pesto without nuts?

To make it nut-free, you can omit the almonds entirely or replace them with sunflower seeds for a nut-free version.

How long should skirt steak be grilled?

Because skirt steak is thin, it only needs about 3-5 minutes per side over high heat for medium-rare to medium doneness.

Serving Suggestions

More Grilling Recipes

4.70 from 10 votes

Grilled Skirt Steak with Cilantro Pesto

A juicy grilled skirt steak marinated in citrus juices, soy sauce, Worcestershire, garlic and spices. Paired with a tangy and bright cilantro pesto!
Prep: 2 hours
Cook: 8 minutes
Total: 2 hours 8 minutes
Servings: 6 servings
Email This Recipe
Enter your email and I’ll send this directly to you. Plus you’ll get new recipes from me every week!

Ingredients 

For the skirt steak

For the cilantro pesto (makes 1 1/4 cup)

  • 3 cups loosely packed cilantro
  • 1/3 cup cotija cheese
  • 1/4 cup chopped red onion
  • 1/2 cup slivered almonds
  • 1 clove garlic
  • 1 teaspoon kosher salt
  • 1/4 teaspoon freshly ground black pepper
  • 1/2 cup olive oil
  • 3 tablespoons lime juice (about 1 1/2 limes)

Instructions 

For the skirt steak

  • Make the marinade: In a medium bowl, whisk together all of the ingredients except for the skirt steak.
  • Marinate in the fridge: Place the skirt steak in a large baking dish or gallon size zip lock bag and pour the marinade on top. Turn the steak a few times until it's completely coated with marinade and refrigerate for 2 to 6 hours. Do not marinate for longer than 8 hours because the meat will start to break down.
  • Preheat grill to medium-high heat (about 400°F-450°F) for direct-heat grilling.
    (For gas grilling, simply light all the burners on high, close the lid and let the grill heat up for 5-10 minutes.)
    (For charcoal grilling, the process is a bit more involved but the flavor is worth it. Here's a super-quick read with step-by-step photos on how to start a charcoal grill.)
  • Prepare the steak: Remove steak from marinade and discard any excess marinade. Pat steak dry with paper towels and season lightly with coarse salt and black pepper on both sides.
  • Grill the steak: Grill the skirt steak with the lid closed for about 3-4 minutes per side for medium rare, or longer depending on the thickness and your desired doneness.
  • Rest and Slice: Transfer the grilled steak to a cutting board and let it rest for 5 minutes. Slice thinly across the grain and serve with cilantro pesto.

For the pesto

  • Add all ingredients to a food processor or blender and pulse until mostly smooth.

Video

Notes

Don’t forget to pat your steak dry after marinating. Patting your steak dry helps get rid of any excess moisture and helps the browning and searing process.

Nutrition

Serving: 1serving – includes 3 tablespoons of cilantro pesto | Calories: 275kcal | Carbohydrates: 5g | Protein: 22g | Fat: 18g | Saturated Fat: 3g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 3g | Trans Fat: 0g | Cholesterol: 52mg | Sodium: 722mg | Potassium: 157mg | Fiber: 2g | Sugar: 1g | Vitamin A: 11IU | Vitamin C: 17mg | Calcium: 6mg | Iron: 16mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Did you make this recipe?Leave a comment and star rating below!

You may also like

Leave a comment

Your email address will not be published. Required fields are marked *

Rate this Recipe:




10 Comments

  1. Mel says:

    5 stars
    Loved! How long is the pesto good for refrigerated?

    1. Isabel Orozco-Moore says:

      If you store it in a airtight container, it’s good for about a week. But it’s best if eaten in 3-4 days.

  2. Debra Nowak says:

    5 stars
    Made this tonight and was delicious. Both the skirt steak and the cilantro pesto were a hit. Will make it again. Thanks for all the great recipes and tips.

  3. Kris says:

    5 stars
    This was really good and the meat ends up being really tender and full of flavor. Seared on the outside and rare on the inside making for an amazing dinner. Did marinate for 7 hours.

  4. Cindy says:

    Delicious marinade!

  5. Ed Selby says:

    4 stars
    My pesto came out really thick – more like a spread. Not that there’s anything wrong with that. I was just expecting something more “liquid”

    Still – really delicious!

  6. Liz says:

    5 stars
    Huge hit for the whole fam! I could eat the pesto solo. Great recipe!

  7. Intrepid1 says:

    5 stars
    Delicious and full of my favorite flavors. The steak (Flap Sirloin) was juicy and expertly seasoned. Thank you, Isabel!

  8. Donney Bibb says:

    Hola Isabel,

    Thanks for the recipe. For the marinate, have you tried Goya’s Mojo. It has most if not all the ingredients as your marinate. I buy it by the gallon at my local Latin grocery store.

    If you have used the Mojo marinate, please provide any comments.

    1. Isabel says:

      Hi Donney, I’ve never used that marinade before but I have seen it at the grocery store! I’ll have to check it next time. Thanks! 🙂