Cantonese Steamed Whole Fish
A whole white fish, julienned ginger, scallion, and a final pour of smoking oil.

Ingredients
- 800 g Whole white fish
- 50 g Ginger
- 6 Scallions
- 3 tbsp Light soy sauce
- 1 tbsp Shaoxing wine
- 1 tsp Sugar
- 3 tbsp Peanut oil
- 1 tsp Salt
- 1 tsp Toasted sesame oil (optional)
Method
- Fill the wok with 5 cm of water. Bring to a vigorous boil with the steamer in place.
- Scale, gut, and pat the fish dry. Score the thickest part twice on each side.
- Julienne half the ginger fine. Slice the other half into coins. Cut the scallion whites into matchsticks and greens into 5 cm lengths.
- Tuck ginger coins and scallion lengths inside and under the fish on a heatproof plate.
- Mix the soy, wine, sugar, and a splash of water in a small bowl.
- Set the plate in the steamer. Cover and steam over high heat — roughly 9 minutes per half-kilo of fish, until the flesh turns opaque and flakes.
- Pour the soy mixture onto a serving platter.
- Lift the fish onto the platter. Tip away the steaming liquor. Pile julienned ginger and scallion on top.
- Heat the peanut oil in a small pan until just smoking, then pour evenly over the aromatics — they sizzle.
- Serve at once with steamed rice.
Tap “Start cooking” for live timers that flag what to get ahead on while something simmers.
About Cantonese Steamed Whole Fish
Cantonese steamed whole fish is a cornerstone of southern Chinese cooking and a benchmark of a good kitchen, because it shows off the freshness of the fish with almost nothing to hide behind. A whole white fish is steamed over high heat with ginger and scallion until the flesh just turns opaque, then dressed with a light soy-and-Shaoxing sauce and finished with a pour of smoking-hot oil over fresh julienned ginger and scallion. That last flourish is the signature move: the hot oil hits the aromatics and releases a burst of fragrance while lightly crisping them, all in a few seconds at the table.
The reward is fish that is silky and clean-tasting, seasoned but never masked, with the soy sauce lending a gentle savory-sweetness and the ginger and scallion cutting any richness. It's a dish of restraint, prized at family dinners and especially at Lunar New Year, where a whole fish symbolizes abundance and is served intact, head and tail on. This version keeps to the classic technique, scoring the thick part so it cooks evenly and steaming by weight so the fish comes out just-done rather than dry. Precision matters more than skill here: a minute too long and the delicate flesh tightens, so the whole thing rides on pulling it at exactly the right moment.
Cantonese Steamed Whole Fish: frequently asked questions
How many calories are in Cantonese Steamed Whole Fish?
A serving has about 314 calories — 35.9g protein, 7.6g carbs, 15.2g fat, 1.5g fiber. Figures are estimated from the ingredient amounts and will shift with your portions and brands.
Is it high in protein?
Each serving has about 35.9g of protein, roughly 46% of its calories.
Is Cantonese Steamed Whole Fish gluten-free?
As written, no — it contains Light soy sauce. You'd need a certified gluten-free swap for that ingredient to make it gluten-free.
How long does Cantonese Steamed Whole Fish take to make?
About 30 minutes start to finish, but only around 19 of those are hands-on — the rest is cooking time. In the Homecooked app the timers and parallel steps are sequenced for you so the hands-on part feels even shorter.
Do I need every ingredient to make Cantonese Steamed Whole Fish?
The core ingredients are essential, but you can leave out toasted sesame oil — it's optional and mainly there for extra flavor or finish.
How many servings does Cantonese Steamed Whole Fish make?
This recipe makes 4 servings. In the app you can scale it up or down and the ingredient amounts adjust automatically.