Whole Grilled Fish With Olive-Tomato Compote Recipe

Grilling is one of the tastiest ways to cook a whole fish, and it's easy once you know a few tricks. . Photographs: Vicky Wasik. Video: Natalie Holt

Why This Recipe Works

  • Properly preparing the grill and grate by preheating, cleaning, and oiling helps ensure the fish won't stick to it.
  • Allowing the fish to come to room temperature, drying it well, and oiling it is the other key to making sure it doesn't stick to the grill.
  • Using a carving fork to lift the fish from the grill grate is the safest way to attempt to turn it, with the least risk of the fish sticking and tearing.

Grilling may be one of my favorite ways to cook a whole fish—the intense direct heat does wonders for the skin, crisping it up while the coals below impart a delicious flavor to the fish itself. Granted, it's not quite as easy as just tossing a whole fish in the oven, but a few key steps will guarantee it comes out perfect every time.


How to Grill a Whole Fish

Recipe Details

Whole Grilled Fish With Olive-Tomato Compote Recipe

Active 25 mins
Total 60 mins
Serves 4 servings


For the Sauce:

  • 5 ounces oil-cured olives, pitted (about 1 cup)

  • 1/2 cup (120g) Kalamata olives, pitted

  • 1/2 cup (120ml) extra-virgin olive oil

  • 2 medium cloves garlic

  • 2 whole peeled plum tomatoes from a can, minced

  • 1 teaspoon minced fresh oregano

  • Freshly ground black pepper

For the Fish:

  • 4 (1-pound; 450g) whole white-fleshed fish, such as sea bass, branzino, or porgy, scaled and gutted

  • Kosher salt and freshly ground black pepper

  • Lemon slices, peeled garlic cloves, peeled ginger slices, fresh oregano sprigs, and fresh parsley sprigs, for stuffing

  • Extra virgin olive oil, for rubbing and drizzling

  • Minced parsley, for garnish

  • Lemon wedges, for serving


  1. For the Sauce: In a food processor, combine both types of olives, olive oil, and garlic and process to form a coarse paste. Stir in tomatoes and oregano and season with black pepper. Set aside.

  2. For the Fish: About 30 minutes before grilling, remove fish from refrigerator and let come to room temperature. 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. Clean and oil grilling grate.

  3. Thoroughly pat fish dry with paper towels. Season inside and out with salt and pepper. Stuff fish cavities with lemon, garlic, ginger, and herbs. Rub fish all over with olive oil.

  4. Set fish over hot side of grill and cook until bottom sides are 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.

  5. Carve fish and transfer fillets to a plate. Top with olive compote and minced parsley. Serve with lemon wedges.

Special Equipment

Food processor, grill, carving fork, instant-read thermometer

This Recipe Appears In

Nutrition Facts (per serving)
951 Calories
82g Fat
7g Carbs
49g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 4
Amount per serving
Calories 951
% Daily Value*
Total Fat 82g 105%
Saturated Fat 9g 46%
Cholesterol 106mg 35%
Sodium 616mg 27%
Total Carbohydrate 7g 2%
Dietary Fiber 2g 8%
Total Sugars 2g
Protein 49g
Vitamin C 29mg 146%
Calcium 73mg 6%
Iron 3mg 14%
Potassium 822mg 17%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)