Grilled Whole Fish Stuffed with Herbs and Chilies

Stuff mild, meaty tilapia with fresh herbs and chilies before putting it on the grill, and you'll have fish full of delicate flavor and a crisp, crackling skin.

Overhead view of grilled fish stuffed with cilantro and fresno chilies on a platter.
Mike Lang

In the U.S., summer grilling season feels synonymous with burgers and hot dogs. But after I’ve had my fill of Americana, I turn to another source for grilling inspiration: The cooks living on China’s border of Myanmar, Laos, and Vietnam who grill all year long as their primary way of cooking.

This super simple, flavorful grilled fish comes from China’s Xishuangbanna Dai Autonomous Region, a small sub-tropical area just a few miles from both Laos and Myanmar.

The idea is simple—a whole fish is stuffed with fresh herbs and chilies, is grilled over hot coals and brushed with salty oil as it cooks—but as the herbs wilt from the heat, their fragrance perfumes the fish and gives it a lovely, delicate flavor.

The result is far more than the sum of its parts, a wonderful dish for a weekend barbecue or to serve to friends when you want something that is easy to prepare but looks impressive.

Choosing and Buying Whole Fish

Buying a whole fish might be daunting for anyone who hasn’t cooked a head-on specimen before, but your local fish shop or well-staffed market can make the process simple for you.

Start by assessing freshness and avoid anything with a really fishy smell, dark eyes, or brown, indistinct gills.

The fish should have:

  • Firm flesh
  • Moist, light eyes—not dark or very cloudy
  • A mild, slightly briny smell.
  • The gills should look red and should be easily visible.

If you can, buy your fish from a shop with a knowledgeable fish monger behind the counter and ask when it was caught. A store where lots of people are buying fish is also a good sign, as it means there’s a lot of turnover. (Personally, I prefer to buy my fish at a nearby Chinese supermarket, which has a very busy seafood counter.)

Next, ask the fishmonger to gut and scale the fish for you and to cut the fish open so that you can stuff not only the belly but also the tail; some shops may even have a chart you can point to, to specify what you’re looking for.

Alternatively, you can ask them to butterfly the fish so that it is cut open from the head through the end of the tail, but the two sides are still connected. (If you have a really good fishmonger, they can cut it open along the back, instead of through the belly, preserving the tender belly meat.)

If you buy a fish that has been scaled and gutted but hasn’t been fully cut open (in other words, if only the center of the stomach has been cut into), just use a sharp knife to carefully lengthen the opening in the belly so that the front of the body and the meaty part of the tail are also split lengthwise, then make the split deeper, so that it reaches the fish’s backbone.

Wooden skewers flaking grilled whole fish stuffed with herbs and chilies
Mike Lang

Best Fish for this Recipe

This recipe is traditionally made with tilapia, which farmers in China often grow in small ponds on their farms.

The fish is ideal, because its flesh is meaty but very mild in flavor, and it soaks up the perfume from the herbs as they cook.

This method, however, also works well with red snapper. If choosing a snapper, you might want to use kitchen scissors to trim off the edges of the fish’s fins, which can be quite sharp.

How to Grill Fish Using a Grill Cage

When it comes to cooking a whole fish, the key to easy grilling is to invest in a grill basket that folds over both sides of the fish to hold it together and let you easily flip it from side to side.

Grill baskets come in a number of styles—there are open-top baskets good for keeping vegetables from falling into the coals and very flat baskets that work well for thin fish.

The fish will stick to the basket as it grills. You can oil the inside of the basket to help keep it from sticking, but you’ll still need to extract the fish very carefully, using a chopstick or another narrow tool to push the mesh away from the fish’s skin as you open the basket.

If you want some more tips and tricks for cooking fish on the grill we have an amazing guide that tells you everything you need to know about grilling whole fish, fish fillets, and fish steaks.

Whole fish stuffed with herbs and chilies served on a bed of lettuce.
Mike Lang

Making Fish Stuffed with Herbs and Chilies in an Oven

If you don’t have a grill, you can still make this dish by roasting the fish in a hot oven.

The result won’t be quite the same because you’ll miss some of the smoky flavor the grill produces, and only one side of the fish will become crisp, but the flavors of the herbs and chilies will still come through nicely.

  • Prepare the fish the same way you would for the grill.
  • Heat an oven to 450°F.
  • Place the fish on a baking sheet lined with parchment paper, so it won’t stick.
  • Bake for about 25 minutes. When the fish has cooked through, brush it with a bit more oil and put it under the broiler on high until the skin on the top is bubbly and starting to brown 2-3 minutes; since different broilers can put out different levels of heat (and some racks are closer to the flame than others), you should start checking the fish after the 2-minute mark.

How to Check Fish for Doneness

There are a couple of ways to see if your fish is fully cooked through before you take it out of the grill basket.

  • According to government food safety sites, fish should be cooked to a temperature of 145°F. You can use an instant-read thermometer to gauge doneness.
  • You can also check for doneness by sticking the tines of a fork or the tips of a couple of chopsticks into the flesh of the fish and twist; if the flesh that comes up is opaque and flaky, you’re good to go.
Overhead view of grilled fish stuffed with cilantro and fresno chilies on a platter.
Mike Lang

Swaps and Subs for Seasoning Whole Fish

While the recipe below includes some of my favorite ways to flavor this dish, you can stuff fish with a wide variety of herbs and chilies.

In some parts of Southwestern China (where this recipe comes from), cooks alternate between making this dish with just cilantro and some spicy Thai chilies and stuffing it with more complex pastes full of chilies and herbs. Some fun combinations include:

  • Chopped cilantro and sliced Thai chiles (also called bird’s eye chilies)
  • Lemongrass (crushed with the flat part of a cleaver or knife) and sliced chilies
  • Cilantro, sawtooth herb, rau ram, and sliced chilies
  • Fresh oregano, sliced onions, and sliced lemons (for a more Greek-style flavor)
  • Fresh oregano, sliced garlic, and rehydrated dried pasilla chilies or chiles de árbol (for a Mexican-inspired flavor)

If you want a little more flavor and spice, you can also mix some ground chili or chili flakes into the vegetable oil, along with the salt, and use that to add flavor to the fish’s skin as it cooks.

Make it a Meal

This recipe is portioned to be served Chinese-style, with two to three sides to round out the meal. In Southwestern China, this dish is often served with dishes that are reminiscent of Lao and Thai foods, including pineapple sticky rice (this pineapple fried rice makes an easy substitute) and green papaya salad. I also often serve it with a quick Chinese cucumber salad. Cooked Chinese greens, like stir-fried long beans or Sichuan eggplant, would also work well.

Overhead view of grilled fish stuffed with cilantro and fresno chilies on a platter.
Mike Lang

More Grilled Fish Recipes to Enjoy This Summer

For a thick fish like tilapia or snapper, look for a grill cage with inch-thick sides, like the large Ordora Portable Fish Grill Basket, which has 1.2 inch sides, or Asher Grill’s slightly narrower grill basket. (These cost around $20, but you can also find cheaper versions in some Asian markets that specialize in cooking tools.)

Grilled Whole Fish Stuffed with Herbs and Chilies

Prep Time 20 mins
Cook Time 40 mins
Total Time 60 mins
Servings 4 servings

Your tilapia should be cleaned, scaled, and cut open so that you have a large cavity in the body of the fish to stuff it with herbs and chilies.

Special equipment: grill cage and pastry brush


  • 1/4 cup vegetable oil, plus more for oiling the grill cage

  • 3 teaspoons kosher salt, divided

  • 1 (2 pound) whole tilapia, cleaned, scaled, and cut open along the belly or butterflied

  • 2 scallions, root ends removed, cut in half lengthwise and widthwise

  • 1 large handful cilantro (about 1 packed cup), leaves and stems

  • 2 red Fresno chilies, thinly sliced crosswise


  1. Preheat the gill and prepare the grill cage:

    Heat a charcoal or gas grill until you have hot coals or high heat.

    For a charcoal grill: Heat a chimney full of coals until they are grey with ash, then pile them in the center of the grill.

    For a gas grill: Turn the heat to high, close the lid, and let the grill heat while you prepare the fish, about 20 minutes; the temperature should reach about 400°F.

    Using a pastry brush or clean kitchen towel, oil the grill cage all over. Set aside until ready to use.

    Preparing the grill for a grilled fish recipe.
    Mike Lang
    Dumping coals into a grill to make grilled fish stuffed with cilantro and fresno chilies
    Mike Lang
    Oiling the grill cage to make grilled tilapia stuffed with herbs and chilies
    Mike Lang
  2. Make the seasoned oil:

    In a small jar or cup, combine the vegetable oil and 2 teaspoons of salt. Set aside to use later.

    Making seasoned oil for a grilled whole fish stuffed with herbs and chilies recipe.
    Mike Lang
  3. Season and stuff the fish:

    Season and rub the remaining 1 teaspoon of salt all over the inside and outside of the fish. Lay half of the scallions on the inside of the fish’s cavity, top them with cilantro, chilies, and then top the pile with the remaining scallions and close the fish. Place the fish into the oiled grill cage and close the cage.

    A whole tilapia on a baking sheet.
    Mike Lang
    Seasoning the inside of a gutted tilapia to make grilled tilapia stuffed with herbs and chilies
    Mike Lang
    Filling the fish cavity with herbs for a grilled tilapia recipe.
    Mike Lang
    Filling the fish cavity with herbs for a grilled tilapia recipe.
    Mike Lang
    Placing the whole fish in a grill cage to make grilled fish stuffed with cilantro and fresno chilies
    Mike Lang
    A grill cage with a whole tilapia inside.
    Mike Lang
  4. Grill the fish:

    Grill the fish over direct heat for 5 minutes, then flip the grill basket and grill the other side for an additional 5 minutes.

    Use a pastry brush to coat the fish with the prepared oil (dabbing the oil through the grill cage), then grill the fish for another 30 minutes, flipping every five minutes or so and adding oil every time you flip making sure to use up all of the oil.

    When finished, the fish’s skin should be partially blackened and crispy, and the flesh should be cooked through.

    To check for doneness, twist the tips of two chopsticks or the tines of a fork in the flesh (while the fish is still in the grill cage); it should be flaky and opaque. If the flesh doesn’t flake easily, continue to grill the fish, flipping once, for another 10 minutes.

    Adding the grill cage to the grill to make grilled fish stuffed with cilantro and fresno chilies.
    Mike Lang
    Grilled whole fish stuffed with herbs and chilies in a grill cage and brushed with oil.
    Mike Lang
    The closed grill with grilled whole fish stuffed with herbs and chilies inside.
    Mike Lang
    Whole fish stuffed with herbs and chilies on the grill.
    Mike Lang
  5. Remove fish from grill cage:

    When the fish is fully cooked, carefully open the grill cage; the metal may stick to the fish’s skin, so you’ll want to go slowly and use your chopsticks or a butter knife to separate them when necessary.

    Picking up the grill cage filled with grilled whole fish.
    Mike Lang
    Grilled tilapia stuffed with herbs and chilies in a grill cage.
    Mike Lang
  6. Serve:

    Serve the fish whole, and let people slide a piece off of the side, without taking too many bones with it, or eat it from a communal plate at the center of the table. When one side of the fish is done, flip it to serve the other of the fish. (Everyone can also take some of the wilted herbs and chile from inside the fish, if they like.)

    Overhead view of grilled fish stuffed with cilantro and fresno chilies on a platter.
    Mike Lang
Nutrition Facts (per serving)
359 Calories
13g Fat
2g Carbs
60g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 4
Amount per serving
Calories 359
% Daily Value*
Total Fat 13g 16%
Saturated Fat 3g 13%
Cholesterol 129mg 43%
Sodium 1075mg 47%
Total Carbohydrate 2g 1%
Dietary Fiber 1g 3%
Total Sugars 1g
Protein 60g
Vitamin C 30mg 149%
Calcium 48mg 4%
Iron 2mg 11%
Potassium 957mg 20%
*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. In cases where multiple ingredient alternatives are given, the first listed is calculated for nutrition. Garnishes and optional ingredients are not included.