Today's Chef logo Today's Chef
How to Cook Cantonese Steamed Fish Properly: A Hong Kong Cook's Playbook
Chinese

Cantonese Steamed Fish: Preparation, Timing and Doneness

A long oval plate arrives with the soy dressing still moving around the edges. When smoking peanut oil meets the ginger and scallion, the whole plate hisses for a full five seconds. The ginger smells green and sharp, almost like cut grass near a hot pan. That sound and aroma are the cues to watch for.

That is the dish. Cantonese steamed fish, 清蒸鱼, is a home and banquet staple built on three things people get wrong: the fish is not fresh enough, the steaming is timed by weight instead of thickness, and the oil finish is poured too cool. Get those three right and you have one of the cleanest plates of food in any Chinese home kitchen.

Yield 2 servings as a main, 4 as part of a meal
Prep time 15 minutes
Cook time 10 minutes
Total time 25 minutes
Difficulty Intermediate

Reading the fish at the counter

The dish lives or dies here. In Hong Kong you buy the fish swimming. At a Western supermarket you have to read it.

Three tests, in order. The eye should be clear and slightly domed, not sunken or cloudy. Lift the gill flap: bright red-pink means recent, brown means days old. Press the flesh near the dorsal fin and it should spring back within a second. If your thumbprint stays, walk away.

For whole fish, choose a 600–800 g sea bass, grouper, or sand dab when available. From a Western counter, branzino is a close match and is often sold whole at that weight. Black sea bass and red snapper work too. Tilapia is earthier, so use enough ginger to balance the mud note. On a 700 g branzino, brown color under the gill flap means leave it on the ice, even when the eye still looks bright. Trust the gill.

If you can only get fillets, use a thick-cut, skin-on piece of black cod, halibut, or sea bass, 200–250 g per person, at least 2.5 cm thick. Thin fillets overcook before the aromatics have a chance to do their job.

Scoring, salting, and the ginger bed

Rinse the whole fish under cold water and pat it bone-dry inside and out. Wet fish steams to a watery plate.

Score the thickest part of each side with two diagonal slashes about 1 cm deep, stopping at the bone. This is not decoration. It opens the flesh so heat reaches the spine at the same time the thinner belly cooks.

Salt the cavity lightly, about half a teaspoon of kosher salt rubbed inside, nothing on the skin. The skin needs to stay slick so the soy dressing pools and clings later.

Slice 30 g of ginger into coins. Cut 4 scallions into 8 cm lengths and bruise them with the flat of a knife. Lay half the ginger and all the scallion lengths across a heatproof plate in a loose lattice. Set the fish on top. The bed lifts the fish 1 cm off the plate so steam circulates underneath, and it perfumes the flesh as it cooks.

Why the timer runs on thickness, not weight

Thickness affects steaming time, but steamer strength, starting temperature, and the shape of the fish also matter. Begin checking around 8 minutes for a fish roughly 2.5 cm (1 inch) thick. Treat that as a checking time, not a guarantee: the thermometer check in step 4 determines when the fish is ready.

Instructions

  1. Set up the steamer. Fill a wok or wide pot with 5 cm of water, set a steaming rack inside, and bring it to a hard rolling boil over high heat. The water must already be screaming before the fish goes in. A cold start steams the fish twice and the flesh turns chalky.

    Step 1: a carbon steel wok with a bamboo steamer on a high blue flame, steam pouring out

  2. Lower the plated fish onto the rack, cover, and set a timer for an initial doneness check. Keep the lid on between checks to retain steam. Open it away from your face and hands when checking the fish.

  3. Make the see yau dressing while the fish cooks. In a small pan, warm 60 ml of light soy sauce, 30 ml of water or unsalted chicken stock, 1 teaspoon of rock sugar (or 1 teaspoon of regular sugar), 1 teaspoon of Shaoxing wine, and a pinch of white pepper. Heat just to dissolve the sugar, about 60 seconds at a low simmer. Do not boil. This is see yau, the steamed fish soy: lighter and sweeter than table soy, built to season without overwhelming.

  4. Check with an instant-read food thermometer in the thickest flesh, avoiding the backbone. The fish must reach 145°F (63°C), following FDA seafood guidance. Check more than one thick area of a whole fish. If it is below that temperature, cover, steam a little longer, and check again. A chopstick test or the timer alone does not verify the internal temperature.

  5. Transfer and drain. Lift the fish on its plate to a tea towel. Tilt and pour off all the cloudy water that collected during steaming. That liquid is bitter and will muddy the dressing. Discard the cooked ginger and scallion under the fish; they have done their job.

  6. Top with fresh aromatics. Pile 20 g of fine ginger julienne, the white and pale green of 3 scallions cut into 6 cm threads, and a small handful of cilantro across the fish. Pour the warm see yau around the fish, not over it, so the dressing pools without washing the aromatics off.

  7. The sizzling oil finish. Heat 3 tablespoons of peanut or grapeseed oil in a small pan until it just begins to shimmer and a thread of smoke rises, around 200C (390F). Pour it in one steady stream directly over the ginger and scallion threads. They should hiss for 4–5 seconds and the kitchen should smell green and sharp. This step cooks the raw aromatics to the right side of done and emulsifies the soy dressing into something glossy.

    Step 7: smoking peanut oil being poured from a small saucepan onto a pile of julienned g

Fixes for the four things that usually go wrong

What sits next to it on the table

A Cantonese home table sets steamed fish next to a bowl of properly cooked short-grain rice, a green vegetable stir-fried with garlic (gai lan or choy sum), and a clear soup in the same spirit as a Hanoi pho broth. Nothing else with soy. The fish is the seasoning for the rice.

Keep the oil pour last, after the dressing. Dressing first, aromatics on top, oil over the aromatics. Reverse that order and the ginger sits in cold soy and the whole plate goes flat.

This article may include AI-assisted drafting and an editorial persona. How Today's Chef creates and reviews content.