This post may contain affiliate links. Please read our disclosure policy.
This Crispy Grilled Fish is one of those meals that looks way more impressive than the effort it takes. Red snapper filets go skin-side down on a screaming-hot grill for just six minutes. That’s it. The skin turns golden and crackly while the flesh stays tender and flaky. You pile it over a bowl of raw zucchini, steamed peas, fresh herbs, and creamy avocado, all tossed in a bright vinaigrette that ties everything together. The whole plate is packed with lean protein, fiber, and nutrients from all those fresh vegetables, and it tastes like summer on a plate.

You know that dish at a restaurant where the fish comes out with the skin so crispy you can hear it shatter when you press your fork into it, and there’s a pile of bright, herby vegetables underneath? That’s this Crispy Grilled Fish. Except you’re making it at home in under 30 minutes, and the only thing you need is a hot grill and a little confidence.
Summary
Crispy Grilled Fish pairs crispy, skin-on red snapper with a fresh veggie medley of zucchini, peas, avocado, shallot, plus a trio of fresh herbs (mint, tarragon, and parsley), all dressed in a gorgeous vinaigrette. The fish cooks in just 6 minutes on a hot grill, giving you restaurant-worthy crispy skin with zero fuss. It’s a 30-minute dinner that’s light, satisfying, and gorgeous enough to serve to guests or hoard entirely for yourself.
❤️ Why You’ll Love Crispy Grilled Fish
This Crispy Gilled Fish is the dish I make when I want to impress my guests without spending all day in the kitchen. The whole thing comes together in about 30 minutes, and honestly, it looks like something you’d order at a waterfront restaurant with a cocktail in hand. The red snapper is grilled with the skin on, and that skin gets so crispy it practically shatters when you cut into it. That crunch against the tender, flaky fish and all those fresh, cool vegetables? Chef’s kiss. Every single component can be prepped ahead of time: chop the veggies, whisk the dressing, season the fish. When your guests arrive (or when you’re just ready to eat), all you do is fire up the grill and assemble. It’s the kind of meal that makes people ask for the recipe before they’ve finished their plate.
🛒 Ingredients
The beauty of this Crispy Grilled Fish is the contrast: warm, crispy fish meets cool, crunchy vegetables in a bright citrus dressing. Every ingredient earns its spot on the plate.
🐟 Red snapper filets (skin on) are the star here. Snapper is mild, sweet, and takes to the grill like a champ. Keeping the skin on is non-negotiable because that’s where all the crispy texture comes from.
🫒 Olive oil coats the fish before grilling to prevent sticking and helps the skin crisp up beautifully. Extra virgin olive oil goes into the dressing for its peppery, fruity flavor.
🥒 Zucchini gets diced raw and tossed right into the veggie mix. It adds a light crunch and soaks up the dressing without getting mushy.
🟢 Peas bring a pop of sweetness and color. A quick steam keeps them bright green and tender.
🧅 Shallot is milder and sweeter than a regular onion, which means it blends right into the salad without overpowering the fish.
🌿 Fresh herbs (mint, tarragon, and parsley) are the secret weapon. This combination sounds fancy, but it tastes like a summer garden. The mint is cool, the tarragon is slightly anise-y, and the parsley ties everything together.
🥑 Avocado adds creaminess and healthy fats that make the whole dish feel substantial without weighing it down.
🍋 Lemon and orange juice form the base of the dressing along with Dijon mustard and honey. The citrus keeps things bright, the Dijon adds a little bite, and the honey rounds it all out.
🍶 Rice wine vinegar gives the dressing a subtle tang that balances the sweetness of the honey and orange juice perfectly.
👩🍳 How to Make Crispy Grilled Fish
To make this Crispy Grilled Fish, start by getting your grill cleaned, greased, and preheated to medium-high (you’re aiming for 450-500°F). A clean, hot grill is the difference between fish that releases beautifully and fish that sticks and tears. Don’t skip this step.
Prepare the fish. While the grill heats up, coat your red snapper filets in olive oil and season them generously with kosher salt and black pepper. I mean generously. The seasoning needs to stand up to the grill and the bold dressing, so don’t be shy.
Now make the veggie situation. In a bowl, whisk together the Dijon, olive oil, rice wine vinegar, lemon zest, and salt. Toss in the diced zucchini, steamed peas, minced shallot, all those gorgeous fresh herbs, and the avocado. Give it a good mix, taste for salt, and set it aside. This is the kind of salad that gets better as it sits for a few minutes.
Grill the fish. Place the fish skin-side down on the grill and close the lid. Six minutes. That’s all you need. The skin will crisp up and the flesh will cook through perfectly. Don’t touch it, don’t peek every 30 seconds, don’t flip it. Just let the grill do its thing.


Time to plate! Drizzle a little olive oil and a squeeze of fresh lemon juice on each serving plate. Set the filet flesh-side down so that gorgeous crispy skin is facing up. Pile a quarter of the veggie salad right on top of the crispy skin. Serve immediately and watch people’s faces light up.
🪄 Tips and Tricks
- Make sure your grill grates are clean and well-oiled before the fish goes on. This is the number one reason fish sticks to the grill.
- Pat the fish dry with paper towels before oiling and seasoning. Moisture on the surface prevents the skin from crisping.
- Don’t move the fish once it’s on the grill. Let it cook undisturbed for the full 6 minutes so the skin releases naturally.
- Dice the avocado last so it stays fresh and doesn’t turn brown in the veggie mix.
- If you can’t find red snapper, branzino or sea bass work as great substitutes with the same cooking time.
⚖️ Variations & Substitutions
- Swap red snapper for branzino, sea bass, or even skin-on salmon if that’s what’s available at your market.
- No grill? Use a cast-iron skillet on the stove over high heat. Press the fish skin-side down with a spatula for the first minute to keep it flat.
- Replace peas with edamame or fava beans for a different twist that still brings that pop of green.
- If tarragon isn’t your thing, use basil or dill instead. Both pair beautifully with fish.
- Make it dairy-free by skipping any cheese garnish (the recipe is already naturally dairy-free).
- For a heartier meal, serve over a bed of couscous, quinoa, or orzo.
🍽 Best Served With
The Crispy Grilled Fish pairs beautifully with the following:
- A crusty baguette or warm pita for scooping up the veggies and dressing.
- A crisp white wine like Sauvignon Blanc or a chilled rosé.
You May Also Like
🫙 How to Store Leftovers
Store any leftover fish and veggie salad separately in airtight containers in the fridge. The fish will keep for up to 2 days, and the veggie salad (without avocado) stays fresh for about 3 days. If you know you’ll have leftovers, hold the avocado and add it fresh when you reheat. To reheat the fish, pop it skin-side up under the broiler for 2-3 minutes to re-crisp the skin. Microwaving works in a pinch, but you’ll lose that crunch.
♻️ How to Reuse Leftovers
If you happen to have any leftover Crispy Grilled Fish, flake it over a grain bowl with the veggie salad, some rice, and a drizzle of the dressing for a completely new meal. You can also toss the flaked fish into tacos with a squeeze of lime and some sliced jalapeño.
The veggie salad on its own makes a solid side dish for any other protein you’re cooking up the next day. And if you made extra dressing, use it as a marinade for chicken or shrimp.
🤔 Common Questions
Can I make the veggie salad ahead of time?
Yes! Prep everything except the avocado up to a day in advance and store it in the fridge. Add the avocado right before serving so it stays fresh and creamy.
Why does my fish stick to the grill?
The two most common reasons are a dirty grill and not enough oil. Make sure your grates are clean, well-oiled, and preheated to at least 450°F before the fish goes on. Also, don’t move the fish for the full 6 minutes so the skin has time to release naturally.
Can I use a different type of fish?
Absolutely. Branzino, sea bass, and skin-on salmon all work well with this method. Just adjust the cooking time slightly for thicker filets.
Do I need to flip the fish on the grill?
Nope. The fish cooks skin-side down the entire time. Six minutes with the lid closed is all you need for a perfectly cooked filet with ultra-crispy skin.
What if I don’t have a grill?
A cast-iron skillet over high heat works great. Heat the pan until it’s smoking, add a little oil, and place the fish skin-side down. Press it flat with a spatula for the first minute, then let it cook for about 5-6 minutes total.

Crispy Grilled Fish
Ingredients
For the fish:
- 4 10 ounce red snapper filets, skin on
- 2 tbsp olive oil
- Kosher salt
- Ground black pepper
For the veggies:
- 1 tsp dijon mustard
- ⅓ cup extra virgin olive oil
- 1 tbsp rice wine vinegar
- 1 lemon
- ½ tsp kosher salt
- 1 zucchini , diced
- 8 ounces of peas, steamed
- 1 shallot , minced
- 3 tbsp of fresh herb., I use fresh mint, tarragon, and parsley
- 1 avocado , diced
Instructions
- Prepare the grill. Clean the grill grates, then grease them generously with oil. Note: Make sure your grill grates are clean and well-oiled before the fish goes on. This is the number one reason fish sticks to the grill.
- Preheat the grill to medium-high (450-500).
- Prepare the fish. Use a paper towel to pat the fish dry. Coat the fish in olive oil and season generously with salt and pepper.
- Prepare the veggies. To a bowl, add the Dijon mustard, olive oil, vinegar, zest of one lemon, salt, zucchini, peas, shallot, all the herbs, and avocado, and mix well. Taste, adjust for salt, and set aside.
- Grill the fish. Place the fish on the grill skin-side down. Close the grill and let the filets cook for 6 minutes undisturbed, then remove from the grill. Note: Do not flip the fish or try to move it until you have let it cook for 6 minutes with the hood of the grill down.
- To each serving plate, drizzle a bit of olive oil and a squeeze of fresh lemon juice. Place the filet flesh side down. Cover the crispy side of the filet with ¼ of the veggies. Serve immediately.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.










