Cantonese Steamed Fish
This post may contain affiliate links. Learn more.
🧪 Developed & tested by the The Chowmi Test Kitchen for US kitchens. How we develop our recipes.
Cantonese steamed fish (清蒸魚) is the dish Cantonese cooks use to judge a kitchen, because it hides nothing: a whole white fish or fillet is steamed just until done, then dressed with julienned ginger and scallion, a pour of smoking-hot oil to bloom them, and a light, faintly sweet soy sauce. The whole philosophy is freshness and restraint — nothing masks the fish, so it must be very fresh and never overcooked. The keys are to steam over fully boiling water for only about 8–10 minutes for a 1.5 lb whole fish (6–7 minutes for fillets), pour off and discard the watery liquid that collects under the fish (it tastes fishy), and finish with light seasoned soy, not dark. Done right, the flesh is silky and just flaking, and the ginger-scallion oil and soy make a clean, savory sauce over rice.

Why you'll love this cantonese steamed fish
- The cleanest, most elegant way to cook fish — and one of the fastest, at about 20 minutes.
- Naturally light and gluten-adaptable, with a silky texture you can't get from pan-frying.
- No special equipment: a plate on a rack inside any big pot or wok works as a steamer.
- We give you the exact steam times and the pro move (discarding the steaming liquid) that keeps it from tasting fishy.
Ingredients
Fish
- 1 (about 1.5 lb) whole white fish, sea bass, branzino, or tilapia, cleaned and scaled — or 1 lb skinless white fillets (cod, sea bass)
Aromatics
- 3 inches fresh ginger, half sliced into coins, half julienned
- 5 scallions, whites left whole, greens julienned
- small handful cilantro, optional, for finishing
Sauce & finish
- 3 tbsp light soy sauce, or a seasoned 'soy sauce for seafood'substitutes →
- 1 tbsp Shaoxing winesubstitutes →
- 1 tsp sugar
- 1 tbsp water
- 3 tbsp neutral oil
- 1 tsp toasted sesame oilsubstitutes →
Missing an ingredient?
AITell us what you have and what you're making — get the best US-grocery swap, with ratios.
Hard-to-find ingredients, delivered
Stock the pantry once and you can cook this anytime: Shaoxing wine. Asian groceries deliver nationwide.
Equipment
- Steamer, or a wok/large pot with a rack — Anything that holds a heatproof plate above an inch of boiling water.(shop →)
- Heatproof plate with a slight rim — The rim holds the sauce and steaming juices.(shop →)
Instructions
Pat the fish very dry. For a whole fish, score 2–3 diagonal cuts on each side down to the bone so it cooks evenly. Lay the ginger coins and scallion whites on a rimmed heatproof plate and set the fish on top — this lifts it so steam circulates underneath.
💡 Bringing the fish to room temperature for 15 minutes first helps it cook evenly in the short steam time.
Set up your steamer: bring an inch of water to a rolling boil in a wok or large pot fitted with a rack. The water must be at a full boil before the fish goes in.
Drizzle the Shaoxing wine over the fish, lower the plate onto the rack, cover, and steam over high heat: about 8–10 minutes for a 1.5 lb whole fish, or 6–7 minutes for fillets. It's done when the flesh is opaque and flakes at the thickest point.
💡 Overcooked fish turns dry and rubbery in seconds. Check at the early end of the range — carryover heat finishes it.
Carefully pour off and discard all the liquid that pooled on the plate, along with the cooked ginger and scallion. This step is essential — that liquid tastes fishy and would muddy the sauce.
Scatter the fresh julienned ginger, scallion greens, and cilantro over the fish. Warm the light soy, sugar and water just until the sugar dissolves, and pour it around (not over) the fish.
Heat the neutral oil and sesame oil until just smoking, then pour it directly over the ginger and scallions — it will sizzle and bloom their aroma. Serve immediately with steamed rice.
💡 The oil must be hot enough to sizzle on contact; that flash of heat is what releases the ginger-scallion fragrance.
Tips & notes
- Freshness is everything in a dish this plain. Buy the freshest white fish you can — clear eyes and no strong smell — since there's nowhere for a tired fish to hide.
- Use light or a 'seasoned soy for seafood,' never dark soy, which would overpower the delicate fish and turn the sauce muddy and salty.
- No steamer? Set a heatproof plate on a small metal rack, an upturned bowl, or even a ball of foil inside a covered wok or wide pot.
- Fillet version: lay the fillets on the ginger and scallion and steam 6–7 minutes. Same finish with hot oil and soy.
- Pour the soy around the fish, not over it, so you don't wash off the sizzled aromatics on top.
Recipe wording too vague?
AIPaste any fuzzy step (少许, 火候正好, 焯水) and get exact amounts, temps and times.
Cantonese Steamed Fish
- Prep
- 10 min
- Cook
- 10 min
- Total
- 20 min
- Serves
- 2
- Level
- Beginner
Ingredients
- 1 (about 1.5 lb) whole white fish, sea bass, branzino, or tilapia, cleaned and scaled — or 1 lb skinless white fillets (cod, sea bass)
- 3 inches fresh ginger, half sliced into coins, half julienned
- 5 scallions, whites left whole, greens julienned
- small handful cilantro, optional, for finishing
- 3 tbsp light soy sauce, or a seasoned 'soy sauce for seafood'
- 1 tbsp Shaoxing wine
- 1 tsp sugar
- 1 tbsp water
- 3 tbsp neutral oil
- 1 tsp toasted sesame oil
Instructions
- Pat the fish very dry. For a whole fish, score 2–3 diagonal cuts on each side down to the bone so it cooks evenly. Lay the ginger coins and scallion whites on a rimmed heatproof plate and set the fish on top — this lifts it so steam circulates underneath.
- Set up your steamer: bring an inch of water to a rolling boil in a wok or large pot fitted with a rack. The water must be at a full boil before the fish goes in.
- Drizzle the Shaoxing wine over the fish, lower the plate onto the rack, cover, and steam over high heat: about 8–10 minutes for a 1.5 lb whole fish, or 6–7 minutes for fillets. It's done when the flesh is opaque and flakes at the thickest point.
- Carefully pour off and discard all the liquid that pooled on the plate, along with the cooked ginger and scallion. This step is essential — that liquid tastes fishy and would muddy the sauce.
- Scatter the fresh julienned ginger, scallion greens, and cilantro over the fish. Warm the light soy, sugar and water just until the sugar dissolves, and pour it around (not over) the fish.
- Heat the neutral oil and sesame oil until just smoking, then pour it directly over the ginger and scallions — it will sizzle and bloom their aroma. Serve immediately with steamed rice.
Nutrition (est., per serving): 300 cal · 34 g protein · 6 g carbs · 15 g fat
Cantonese Steamed Fish FAQ
What is the best fish for Chinese steamed fish?
A mild, fresh white fish is ideal — sea bass, branzino, tilapia, or fluke as whole fish, or cod and sea bass as fillets. A whole fish gives the best flavor and presentation, but skinless fillets are easier to handle and faster. Whatever you choose, freshness matters more than the variety in a dish this clean.
How long do you steam fish?
Over fully boiling water on high heat, steam a whole fish of about 1.5 lb for 8–10 minutes, and white fillets for 6–7 minutes. It's done when the flesh turns opaque and flakes at its thickest point. Because fish overcooks quickly, check at the early end of the range and let carryover heat finish it.
Why do you pour off the liquid after steaming?
As the fish steams, it releases a watery liquid that collects on the plate, and that liquid tastes distinctly fishy. Pouring it off (along with the spent ginger and scallion) before you add the fresh aromatics and soy keeps the finished sauce clean and savory rather than muddy.
Can I steam fish without a steamer?
Yes. Put a heatproof rimmed plate on top of a small metal rack, an inverted heatproof bowl, or a ring of foil set inside a wok or large pot. Add an inch of water below the plate, bring it to a boil, cover, and steam as directed. The plate just needs to sit above the water.
Why pour hot oil over the fish at the end?
Pouring smoking-hot oil over the raw julienned ginger and scallion 'blooms' them — it releases their aroma instantly and lightly cooks them into a fragrant topping. It's the signature finishing move of Cantonese steamed fish, and it takes the dish from plain to restaurant-quality.
You might also like
Get our free Chinese Kitchen Starter Guide
The 12 pantry staples, the 5 techniques, and a week of beginner-friendly dinners — plus a new decoded recipe each week.





