Cantonese-Style Steamed Fish

Cantonese-Style Steamed Fish
Armando Rafael for The New York Times. Food Stylist: Cyd Raftus McDowell.
Total Time
35 minutes
Prep Time
5 minutes
Cook Time
30 minutes
Rating
4(142)
Notes
Read community notes

This classic Cantonese dish is one of the simplest ways I know to prepare whole fish or fillets. Simply steamed lean white fish is seasoned with the umami richness of soy sauce and wine, then finished with a (careful) tableside drizzle of hot oil that sizzles and sputters, bringing out the bouquet of fresh ginger, scallions and cilantro piled on top of the fish. You’ll need a lidded pan wide enough to fit the plate you are steaming your fish on, and deep enough to cover the fish, the plate, and a steaming rack underneath. But you’ll end up with fish that is light and silky in texture and aroma, but deep in flavor.

Featured in: This Classic Cantonese Dish Turns Whole Fish Into an Easy, Impressive Dinner

  • or to save this recipe.

  • Subscriber benefit: give recipes to anyone
    As a subscriber, you have 10 gift recipes to give each month. Anyone can view them - even nonsubscribers. Learn more.
  • Print Options


Advertisement


Ingredients

Yield:3 to 4 servings
  • 1small bunch cilantro, leaves and tender stems separated from larger stems
  • 1(1½-inch) knob fresh young ginger (about 1 ounce; see Tip), scrubbed
  • 6whole scallions, ends trimmed
  • 2tablespoons Chinese light soy sauce
  • 1tablespoon Shaoxing wine or dry sherry
  • 1tablespoon granulated sugar
  • 1whole white-fleshed fish, cleaned and gutted, about 1½ to 2½ pounds (or 1 to 1½ pounds lean white fish fillets, see Tip)
  • Salt
  • 1small hot, fresh red pepper, such as Fresno or Thai bird’s-eye, thinly sliced (optional)
  • 3tablespoons neutral oil, such as vegetable or canola
Ingredient Substitution Guide
Nutritional analysis per serving (4 servings)

77 calories; 1 gram fat; 0 grams saturated fat; 0 grams trans fat; 0 grams monounsaturated fat; 0 grams polyunsaturated fat; 8 grams carbohydrates; 1 gram dietary fiber; 5 grams sugars; 10 grams protein; 287 milligrams sodium

Note: The information shown is Edamam’s estimate based on available ingredients and preparation. It should not be considered a substitute for a professional nutritionist’s advice.

Powered by

Preparation

  1. Step 1

    Fill a salad spinner with very cold water, and add cilantro leaves and tender stems. Rinse larger cilantro stems and scatter in a plate large enough to fit your fish.

  2. Step 2

    Trim the skin and small knobs off the ginger, and scatter trimmings over the plated cilantro stems. Cut the peeled ginger lengthwise into the thinnest planks you can, then cut those planks into slivers — the thinner, the better – and transfer to the salad spinner.

  3. Step 3

    Roughly split scallions where the light green parts transition to dark green. Add dark green ends to the plate.

  4. Step 4

    Cut scallion whites and light green parts crosswise into rough 2-inch segments, then split each in half lengthwise. Laying each half segment cut side down on the cutting board, slice it lengthwise into the thinnest slivers you can and add to the salad spinner.

  5. Step 5

    In a small bowl, stir together the soy sauce, sherry, sugar and 1 tablespoon water until the sugar is mostly dissolved. Set aside.

  6. Step 6

    Place a steaming rack or a few clean, empty tuna cans with tops and bottoms removed in a wide, deep, lidded pan or wok, add enough water to reach just below the top of the rack, then bring the water to a boil over high heat.

  7. Step 7

    Meanwhile, if using whole fish, rinse it under cold running water and pat dry with paper towels. If fish is 2 pounds or larger, slash deeply through its flesh perpendicular to its spine a couple of times for more even cooking. (No need to rinse or slash fillets.) Lightly salt the fish, stuffing a few aromatics from the plate into the whole fish’s cavity, if necessary. Place fish on aromatics, shingling fillets, if necessary, to fit.

  8. Step 8

    Transfer plate to the steamer, cover, and steam until the meat near the thickest part of the fleshy neck of the fish (or the thickest part of a fillet) shows little resistance or flakes when poked, about 7 to 10 minutes for flat fish and thin fillets, and 9 to 12 minutes for round fish.

  9. Step 9

    With a thin metal spatula (or two), carefully transfer fish to a serving platter. Alternatively, if you don’t mind guests picking out the ginger skin and cilantro stems, serve the fish on the steaming plate. Just drain the liquid by holding the fish down gently with a spatula as you tilt the plate over the sink. Pour the sauce mixture over the hot fish.

  10. Step 10

    Drain and spin aromatics in the salad spinner and toss them into a tangled bird’s nest. Spread half of the aromatics over the fish. Sprinkle with chile, if using. Heat the oil in a small skillet until shimmering and just barely starting to smoke. Carefully spoon or pour the hot oil over the aromatics. They should sputter and sizzle significantly (see Tip). Top with remaining fresh aromatics and serve immediately.

Tips
  • Look for small whole fish, like branzino, black sea bass, porgy, rainbow trout, catfish or grunt. Scaled fish should be descaled before cooking (either by yourself or the fishmonger). Flat fish, like flounder, fluke or sole, are especially good, but can be hard to find whole. For fish fillets, the same species will work, as will thinner filets of most lean white fish, like tilapia, halibut or cod. Even very oily fish like Chilean sea bass or black cod (sablefish) are great, but note that the flavor of the dish will become significantly heavier.
  • If using fillets of leaner salmonids, such as steelhead trout, Arctic char, coho or sockeye, salt them and let them rest uncovered in your fridge for several hours or up to overnight to improve texture and reduce the amount of coagulated white albumen proteins that appear as they cook.
  • Young ginger has a tender interior and tight, thin skin that peel easily if you scratch it with your thumb. Avoid fibrous older ginger.
  • Chinese-style light soy sauce can be found in any Asian market or in most well-stocked supermarkets. You can also use a Japanese-style shoyu, such as Kikkoman, in its place.
  • Pouring hot oil over the fish tableside is not only dramatic, it also releases a burst of aromas. Because hot oil can cause severe injuries, make this dish in the kitchen a few times before you are confident you can do it without accidentally frying a guest.

Ratings

4 out of 5
142 user ratings
Your rating

or to rate this recipe.

Have you cooked this?

or to mark this recipe as cooked.

Private Notes

Leave a Private Note on this recipe and see it here.

Cooking Notes

No steamer required. Put a large piece of foil on a heatproof platter and oil lightly to prevent the fish from sticking. Season with aromatics you like, slash a couple time if it is a plump fish, and top with another piece of foil. Crimp the edges well. Cook at the top of a 450 F oven. When done, top with your soy mixture of choice and a few Tbsp of hot sesame oil to make everything pop. I did this one time with a 3lb striped bass; self proclaimed fish haters came back for more.

Classic dish in every Cantonese household. Draining the fish is key after steaming as the residual cooking liquid is quite fishy. Always served with alot of white rice - the soy / oil dressing is much prized as a sauce for rice.

This is a classic Cantonese dish. The fish will look better if you slash parallel to the spine and place aromatics (ginger, scallions) inside the slash and the belly. After steaming, drain the liquid (its fishy smelling); pile more ginger sticks and scallions on top of fish and slowly pour hot oil on the aromatics to infuse the aroma. Place fresh cilantro over fish. Pour the soy mixture around the fish so that when the velvety chunks of fish is served, dip the chunks in the soy mixture.

Wife is Chinese. This is her staple. Most often uses a silver pomfret c. 1lb cleaned, I'd guess. Would argue always worth scoring the flesh a couple of times, even with a smaller fish, and slipping a bit of the finely sliced aromatics in there. Also means you get a bit more of the flavour and crisping from the hot oil to finish.

Most important- start with a live healthy fish swimming in a tank from an asian seafood market. They will gut and scale for you.

Made exactly as written and it was fantastic (would expect nothing less from a Kenji recipe ;). A few tips for next time: double the amount of sauce and reduce sugar by half. I microwaved the sauce for 20 seconds to help the sugar dissolve more easily. Don’t skip the hot oil step- though I used a spoon to spoon it over so as not to make a mess.

Where do I buy a tangled bird's nest to toss the aromatics into? Is this some kind of technical term?

We cooked this in a fish poacher with marbles under the tray. Amazing dish.

This was one of my grandmother's specialities. I make this dish at least twice a month. To test for doneness, I use a chopstick near the meatiest part of the fish and it's done when it goes through. For a little extra pizzazz, I like to fry some oil and ginger until crispy and put it on top before heating the oil to pour over the fish. Also I like a little splash of rice vinegar in the sauce for a bit more contrast. *French chefs kiss* The little pieces of meat near the bone are the best.

I agree with Judith. No steamer required. An American rendition from my Cantonese mother’s fish. I use a 500 degree oven for 10-15 minutes with just ginger, soy, sesame oil and scallions in foil that is crimped air right with half of a Costco salmon fillet. It’ll puff out dramatically and cut open with scissors. Add cilantro if you have it. The easiest dinner and kids love it.

I made this using parchment paper instead of the foil approach described in another comment, using small trout caught by a friend. Two small trout per parchment, laid on the bed of greens and I inserted some into a pocket in each fish. I stapled the parchment closed, and placed them on a cookie sheet. Baked at 400F for 10 to 12 minutes. Once baked, I topped as directed and used the soy topping which added good flavor, and I used hot chili oil instead of making it as directed. Very good flavor!

Delicious dish. Good call, Judith, on cooking the fish at a high temp in foil. It was almost equivalent to steaming, with plenty of flavor. I used trout but will try branzino next time. Thanks all for your helpful comments.

Lots of folks (including chef Kenji) instructing disposal of the residual cooking liquid, some saying it's too fishy. I humbly disagree. My parents, who were restauranteurs, combined the liquid into the soy/wine/sugar mixure. Saute finely chopped scallion whites and ginger in vegetable oil until aromatic. Add the soy sauce/sugar and wine mixture and fish liquid, stir, to a simmer. Thicken with corn starch slurry. Adjust saltiness. Pour over fish. Makes a rich, savory sauce.

I am not a cook...just like to eat. However this is something I grew up with. You can also put the fish on a microwaveable plate, top with the seasoning, cover with saran wrap and microwave for a few minutes. test for doneness and pour the soy sauce and oil on top and finish microwaving for another 45 seconds. It is just as good as steaming.

I went with wrapping the fish in parchment and baking (10 minutes per inch). Made with local steelhead filets - totally divine. Subbed white white vinegar for shaoxing, didn’t have ginger either. Still incredible, and quick.

I add a splash of fish sauce to the sauce, and limes to serve. I realize this makes it more Thai than Cantonese.. but fish sauce is just so good.

So I took a look at this recipe and said no way I’m doing all that work for lunch by myself. I filled my wok halfway up with water, added aromatics, ginger, cilantro and scallions, and steamed a big fresh tilapia. Used the sauce in the recipe. Had with rice and fresh green beans. Simple, delicate and delicious.

We cooked this in a fish poacher with marbles under the tray. Amazing dish.

Lots of folks (including chef Kenji) instructing disposal of the residual cooking liquid, some saying it's too fishy. I humbly disagree. My parents, who were restauranteurs, combined the liquid into the soy/wine/sugar mixure. Saute finely chopped scallion whites and ginger in vegetable oil until aromatic. Add the soy sauce/sugar and wine mixture and fish liquid, stir, to a simmer. Thicken with corn starch slurry. Adjust saltiness. Pour over fish. Makes a rich, savory sauce.

I don’t have great knife skills so prepping the aromatics took a lot of time. The final taste was excellent but next time I would make twice the amount of sauce. Also, next time, I will try the aluminum foil packet method as described in the previous comments because I could then accommodate any sized fish.

Delicious dish. Good call, Judith, on cooking the fish at a high temp in foil. It was almost equivalent to steaming, with plenty of flavor. I used trout but will try branzino next time. Thanks all for your helpful comments.

Two questions: 1) My grocer washes all herbs before selling -- why put the aromatics in spinner with water? Can't I cut them and add without this step? 2) Where is Judith's note about using wrapping in foil in oven? Would like to see her instructions.

Made exactly as written and it was fantastic (would expect nothing less from a Kenji recipe ;). A few tips for next time: double the amount of sauce and reduce sugar by half. I microwaved the sauce for 20 seconds to help the sugar dissolve more easily. Don’t skip the hot oil step- though I used a spoon to spoon it over so as not to make a mess.

Enjoyed the dish, but my 'memo to self' for next time is: it's critical to keep everything hot by the time it gets to the table. Well warmed serving platter and hot plates are essential here. I'd even consider warming up that soy sauce blend you pour over. Yes, the hot oil helps, but it quickly dissipates. I used Pomfret from Chinatown (2 fish for 4 people) - very affordable and delicious. Big bones that stay on the spine too, so nothing to catch anyone or, spoil the joy!

I made this using parchment paper instead of the foil approach described in another comment, using small trout caught by a friend. Two small trout per parchment, laid on the bed of greens and I inserted some into a pocket in each fish. I stapled the parchment closed, and placed them on a cookie sheet. Baked at 400F for 10 to 12 minutes. Once baked, I topped as directed and used the soy topping which added good flavor, and I used hot chili oil instead of making it as directed. Very good flavor!

I bought a 2 lb striped bass and slashed as indicated. However, it was nowhere near done after twelve minutes. Steaming a whole, thick fish is always going to take longer. It was done after about 20 minutes. Otherwise, the dish was good. I will try the foil baking method as the steaming set-up was a pain and not quick.

Leave out the Sugar and Shaoxing wine. Put 1 tbsp of Mirin instead.

I’m am thinking buying whole fish at our Asian market here in NC would be fine (no tank fish) but if not I’m sure someone will tell me. You can not find whole fish in Durham except at Asian markets

You can steam fish fillet as well. I steam the black cod fillet or Chilean sea bass found at Costco.

Private notes are only visible to you.

Advertisement

or to save this recipe.