Whole Grilled Fish Tacos Recipe

Keeping the fish whole is the easiest route to juicy grilled fish tacos.

A grilled fish with chunks of flesh missing, garnished with scallions, cilantro, and pico de gallo on a serving platter. Next to it is a plate containing a taco filled with the fish and a bowl containing pico de gallo.
Grilling a fish whole is the key to keeping it juicy. Photographs: J. Kenji López-Alt. Video: Natalie Holt

Why It Works

  • Grilling the fish whole makes it easier to prevent sticking and produces juicier, tastier results.
  • Aromatics stuffed inside and rubbed on the outside of the fish give it tons of flavor.

When I'm making fish tacos, I'll take them crunchy and fried over grilled any day. Grilled fish tacos always just seemed like a sad, semi-health-conscious replacement to me. Like ordering a grilled chicken sandwich instead of a fried chicken sandwich or a light beer instead of a regular.

All that was before I had the incredible whole roasted snook tacos at Coni'Seafood in Inglewood, California, part of our 25-bite tour of LA. It made me realize what had been wrong with every grilled fish taco I'd eaten up to then: portioning. Specifically, portioning before grilling is the problem.

At Coni'Seafood, a Sinaloan Mexican restaurant, you order your fish whole. It comes butterflied and grilled on a large tray, allowing you to pick at the juicy, succulent meat with your fingers, stuffing it into warm tortillas as you go.

I don't know why it never occurred to me to grill fish whole for tacos. Fish are almost universally better when grilled whole. Grilling fish fillets is tricky business. First, there's the inevitable sticking issue. Second, it's really hard to nail that just-cooked-through-but-not-yet-dry texture.

Grilling whole solves these problems, making the whole process easier (and usually cheaper to boot!). Skin and bones act as heat buffers, ensuring that you have a plenty-large window of time to take your fish off before it starts to overcook. That skin also makes it far easier to flip the fish on the grill than bare flesh, and even if a bit of skin sticks to the grill and tears, who cares? Just serve the fish with that side facing down.

I originally toyed with butterflying the fish, as they do at Coni', but it proved to be far too unwieldy to do well without considerable practice and a bit of special equipment. Instead, I decided to go with the method that Daniel demonstrated in his guide to grilling whole fish, changing up the flavors to work better with my tacos.

I seasoned my fish (the fish in the photos is a red mullet; I also tried it with a whole red snapper and a branzino, with good results) with salt, pepper, ancho chile powder, cumin, lime juice, and olive oil, then stuffed its cavity with lime slices and cilantro before placing it on the grill to cook.

Using tines of a fork to check grilled fish's doneness. In this photo, the flesh flakes easily.

Serious Eats / J. Kenji López-Alt

As soon as the flesh flaked away easily from the bone, it was ready. (And yes, I poked my fork right into it, presentation be damned!)

I topped the whole thing off with a quick lime vinaigrette I flavored with tons of cilantro, chiles, and scallions, and served it with cucumber slices, lime wedges, some cucumber pico de gallo, and a stack of warm tortillas.

You can use your fork to get the meat off the bones, but I find that fish tastes even better when you pick it with your fingertips. The last scraps of a tortilla form perfect, edible napkins.

A grilled fish that has been eaten, only bones remain on a serving platter.

Serious Eats / J. Kenji López-Alt

Don't worry—we ate the cheeks in the end, too. Saving the best for last.


How to Grill a Whole Fish

August 2015

Recipe Facts



Active: 30 mins
Total: 45 mins
Serves: 4 servings

Rate & Comment


  • 1 teaspoon ground cumin
  • 1 teaspoon ground ancho chile powder
  • 6 tablespoons (90ml) extra-virgin olive oil, divided
  • 2 tablespoons (30ml) juice from 1 lemon or 2 limes, divided
  • Kosher salt and freshly ground black pepper
  • 2 (1 1/2–pound; 675g) whole fish, such as mullet, branzino, porgy, or sea bass, scaled and gutted
  • 1 whole lemon or lime, thinly sliced, plus 1 lemon or lime cut into wedges
  • 1/4 cup (7g) minced fresh cilantro leaves, plus 8 to 12 whole cilantro stems
  • 1/4 cup sliced scallions
  • 1 serrano or jalapeño pepper, sliced or minced
  • 1 small cucumber, half thinly sliced, half cut into 1/2-inch dice
  • 1 recipe pico de gallo
  • Corn tortillas, for serving


  1. Combine cumin, chile powder, 2 tablespoons (30ml) olive oil, and 1 tablespoon (15ml) lime or lemon juice in a small bowl. Season generously with salt and pepper and stir to combine. Rub fish all over with mixture. Stuff fish with lime or lemon slices and whole sprigs of cilantro. Set aside.

  2. Combine minced cilantro, scallions, serrano or jalapeño, remaining 1/4 cup (60ml) olive oil, and remaining tablespoon (15ml) lemon or lime juice in a medium bowl. Season to taste with salt and pepper. Combine diced cucumber with pico de gallo and set aside.

  3. Light one chimney full of charcoal. When all charcoal is lit and covered with gray ash, pour out and arrange coals on one side of charcoal grate. Set cooking grate in place, cover grill, and allow to preheat for 5 minutes. Alternatively, set half the burners on a gas grill to the highest heat setting, cover, and preheat for 10 minutes. Clean and oil grilling grate.

  4. Set fish over hot side of grill and cook until bottom side is browned, about 5 minutes. Using a carving fork, insert tines between grill grate and under fish. Carefully attempt to lift fish from below; if it resists, allow to cook for 1 more minute and try again. When fish lifts easily from grill, turn onto other side and cook until an instant-read thermometer inserted in the thickest part registers 135°F (57°C), about 5 minutes longer. If skin begins to char before fish is cooked through, transfer fish to cooler side of grill to finish cooking. Let rest 5 minutes. While fish cooks, warm corn tortillas directly over hot side of grill, flipping them as soon as they start to char slightly and stacking them under a kitchen towel as they finish cooking in order to keep them moist.

    A whole fish and eight taco shells on a grill grate. The fish has nice char marks.
  5. Transfer fish to a serving platter and spoon scallion/cilantro mixture on top. Garnish with cucumber slices and lemon or lime wedges. Serve immediately with hot tortillas and cucumber pico de gallo. Diners should make their own tacos, picking the meat out of the fish and topping with pico de gallo and lime as they go.

Special Equipment

Grill, instant-read thermometer

Read More