Whole Grilled Fish Tacos Recipe

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.

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. Instead of attempting fish fillets, try grilling that fish whole—and, once you do, put it to work in some tacos.


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 2 teaspoons (10ml) 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 1 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.

  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

This Recipe Appears In