Cross-Cultural · China
Steamed Fish with Ginger and Scallion (薑蔥蒸魚)
Whole fish steamed with ginger and scallion, finished with smoking hot oil poured over julienned aromatics and a savory soy sauce
Steamed whole fish with ginger and scallion is one of the most important dishes in Cantonese cooking. It appears at banquets, at New Year dinners, and on weeknight tables, and it is a test of two things: the freshness of the fish and the restraint of the cook. A good steamed fish needs almost nothing. Ginger, scallion, soy sauce, and hot oil. The fish does the rest.
The technique has a moment that defines it. After the fish is steamed, the cooking liquid is poured off, julienned ginger and scallion strips are laid across the top, and then smoking hot oil is poured directly over them. The oil hits the aromatics and they sizzle violently, blooming their flavor in an instant and infusing the fish with a fragrance that steaming alone cannot produce. That sizzle, that thirty-second burst of aroma, is the reason this dish exists in the form it does.
The fish steams for about twelve minutes on high heat, which is enough for a fish of about one and a half pounds. The eyes turning white is the traditional doneness indicator. Oversteaming by even two minutes produces fish that is dry and chalky rather than moist and silky. A cut along the backbone of a whole fish helps the thicker side cook evenly. The sauce, a mixture of light and dark soy sauce, cooking wine, white pepper, sugar, and water, goes on after the hot oil. Sesame oil and fresh cilantro finish the plate.
At a Glance
Yield
4 servings
Prep
10 minutes
Cook
12 minutes
Total
25 minutes
Difficulty
Easy
Ingredients
- 1.5 lbswhole fish (tilapia, bass, or snapper), cleaned and scaled (680g)
- 1 ozfresh ginger, half julienned, half sliced (28g)
- 5scallion stalks, greens under fish, whites julienned for top
- 5cilantro sprigs, for garnish (optional)
- 2 tbspneutral oil, heated until smoking
- 2 tbsplight soy sauce
- 1/2 tspdark soy sauce
- 1/2 tbspcooking wine
- 1/4 tspwhite pepper
- 1 tbspwater
- 1/2 tspsugar
- 1/2 tspsalt
- 1 tbspsesame oil
Method
- 1
Prepare fish. Cut away belly fat and trim fins. Make a long cut along the backbone for even cooking. Place on a steam-safe plate. Lay scallion greens under the fish and ginger slices on top.
- 2
Mix sauce. Combine light soy sauce, dark soy sauce, cooking wine, white pepper, water, sugar, and salt.
- 3
Steam fish on high heat for 12 minutes (10 min for smaller fish ~1 lb). Eyes turning white indicates doneness.
- 4
Remove fish from steamer. Pour off the accumulated cooking liquid. Remove the steamed ginger slices. Top with julienned ginger strips and scallion strips.
- 5
Heat 2 tbsp oil on high for about 1 minute until smoking. Carefully pour the hot oil directly over the ginger and scallion on the fish. It will sizzle violently.
- 6
Drizzle sesame oil and the prepared sauce over the fish. Garnish with cilantro. Serve immediately.
Key Ingredient Benefits
Whole fresh fish (tilapia, sea bass, or snapper): Steaming a whole fish on the bone produces dramatically more tender, flavorful flesh than fillets. The bones conduct heat evenly, the skin holds in moisture, and the collagen along the spine releases into the steam to baste the meat. White fish is high in protein (about 22 g per 100 g) and low in saturated fat, and steaming preserves more of the omega-3 fatty acids than high-heat methods like frying.
Ginger: Used in significant quantity — both as slices under the fish during steaming (to perfume the steam and neutralize fishiness) and as julienne on top before the sizzling oil (for fresh aromatic punch). Ginger contains gingerols and shogaols, compounds with documented anti-inflammatory effects and traditional warming properties believed in Chinese medicine to balance the cooling nature of fish.
Scallions: Used three ways in this dish — chunks under the fish, julienned on top, and chopped as final garnish. The allium family member contributes sulfur compounds and freshness. The greens and whites work differently: white parts are sharper, greens are gentler. Both are used here.
Hot oil (peanut, vegetable, or rice bran): The defining technique. Smoking-hot oil poured over fresh aromatics blooms their flavors in a way that no other technique can match. The oil reaches the smoke point (around 230°C for peanut oil) just before use, hits the cold ginger-scallion, and produces an aromatic explosion that fills the kitchen.
Light soy sauce: The base of the finishing sauce, providing salt and umami without the heavy color that would obscure the fish's natural pale flesh. Sometimes branded as "soy sauce for seafood" or yú lù (魚露) when seasoned with sugar and aromatics. Diluted with a touch of water and brought to a simmer before pouring around the fish.
Cilantro: A few sprigs as final garnish for color and fresh herbal note. Optional but traditional — most Cantonese cooks consider cilantro inseparable from this dish.
Shaoxing wine (optional rub): A teaspoon rubbed inside the fish cavity before steaming helps neutralize any fishy notes and adds depth. Some cooks skip this step entirely if the fish is very fresh.
Why This Works
Steaming over rolling, vigorous steam (not gentle) is the technique that produces silky, just-set fish flesh. High heat for a short time cooks the proteins quickly without driving out moisture. Low heat for a long time would slowly squeeze water from the fish, producing dry, chalky meat. The visual cue is steam billowing out of the steamer in continuous waves, not a gentle wisp.
Timing is by thickness, not weight. The rule is 10 minutes per inch (2.5 cm) at the thickest part of the fish, plus 1 to 2 extra minutes for the bone. A 1-inch fillet takes 10 to 12 minutes; a 2-inch whole fish takes 18 to 20. Overshooting by even 2 minutes turns a great steamed fish into a mediocre one. Underdone is recoverable (return to steam); overdone is not.
Placing ginger slices under the fish (not just on top) elevates it slightly off the plate. This allows steam to circulate underneath, cooking the fish from both sides simultaneously. Without this elevation, the bottom of the fish sits in accumulated liquid and cooks unevenly.
The sizzling oil finish is the dish's defining moment. Pour hot oil over julienned ginger and scallion piled on the cooked fish, and the aromatics flash-bloom — their volatile oils release in a rush, perfuming both the fish and the kitchen. The oil temperature matters: it must be at or near smoke point (about 230°C / 450°F for peanut oil). Cooler oil produces a feeble sizzle and muted flavor; the spectacle and the aroma both come from the violent heat differential.
The sauce is added last, around the edges of the fish rather than over the top. This preserves the visual presentation of the ginger-scallion topping. Pouring sauce over the fish would wash off the aromatics and dilute the carefully built finishing layer. The sauce mingles with the natural fish juices released during steaming to create the rich liquid that spoons over rice.
Substitutions & Variations
Fish type: Live fish is the Cantonese ideal — whole sea bass, snapper, grouper, tilapia, or perch all work. Black bass is excellent. Smaller whole flounder also works well. For a single-person meal, a 6 oz fillet of cod, halibut, or sea bass works with the same technique (reduce cook time to 6 to 8 minutes).
Frozen fish: Acceptable if quality is good. Thaw completely in the refrigerator overnight, pat very dry, and proceed. A teaspoon of Shaoxing wine rubbed inside helps mask any residual frozen taste.
Without a steamer: A wok with a rack and a lid works perfectly. A deep skillet with a roasting rack works. Even a Dutch oven with the lid ajar can substitute. The key is enough space for steam to circulate around the fish.
Oil: Peanut oil is traditional for its high smoke point and neutral flavor. Vegetable, canola, grapeseed, or rice bran oil all work. Avoid olive oil (too flavorful, too low smoke point) and sesame oil (burns immediately at the high temperatures required).
Light soy sauce: A specialized "seafood soy sauce" (Lee Kum Kee makes one) has a slightly sweeter, more nuanced flavor designed for fish. Regular light soy works fine. Avoid dark soy — too heavy.
Cilantro: Can be omitted for those who don't enjoy it (about 10% of the population finds cilantro tastes soapy due to a genetic difference in OR6A2 olfactory receptors). Thai basil or Vietnamese coriander work as substitutes.
Spice variation: Some restaurants add a few thin slices of fresh red chili or a small spoonful of chili oil on top before serving for a Sichuan-Cantonese fusion version.
Cantonese fancy version: Add 2 tablespoons of julienned fresh shiitake mushroom and 2 tablespoons of julienned ham (Chinese smoked ham like jin hua) on top of the fish during steaming for a banquet presentation.
Serving Suggestions
Whole steamed fish is the centerpiece of a Cantonese banquet — the dish that signals special occasion eating. Serve at the table, fish facing the guest of honor (a Cantonese tradition), with the head pointed toward whoever is most respected. The fish should arrive sizzling and aromatic, with steam still rising from the platter.
For a proper Cantonese family meal, pair with steamed rice, a stir-fried green vegetable like gai lan or bok choy, a meat dish like beef with oyster sauce, and a clear soup. The fish typically appears as the second main dish, after a more elaborate centerpiece.
In Lunar New Year tradition, fish (魚, yú) is a homonym for "abundance" (餘), and serving a whole fish at the New Year's Eve meal symbolizes a wish for prosperity and excess. The fish is traditionally never fully finished — leaving some indicates that abundance will carry over to the new year.
For a simpler dinner, serve with just steamed rice and a quick stir-fried vegetable. The fish provides protein, the rice catches the sauce, the vegetable adds freshness. Three dishes is enough.
Pair with hot Chinese tea (jasmine, oolong, or pu-erh) — the traditional accompaniment. Crisp white wine (Albariño, Sauvignon Blanc, dry Riesling, or Champagne) works beautifully with the delicate flesh and clean flavor profile. Avoid red wine, which clashes with white fish.
Storage & Reheating
Refrigerator: Leftover steamed fish keeps for up to 2 days in an airtight container. The texture suffers slightly but the dish remains good. Refrigerate with the sauce poured over to keep the fish moist.
Reheating: Gentle steaming for 3 to 4 minutes is the only method that preserves the silky texture. Microwaving works but tends to make spots of the fish rubbery. Avoid stovetop reheating entirely — it dries the fish out.
Make-ahead components: All garnishes can be prepped well ahead. The julienned ginger and scallion can be cut up to 4 hours in advance and stored in cold water in the fridge (keeps them crisp). The sauce can be mixed days in advance. The fish itself must be steamed fresh — there is no acceptable make-ahead version of the whole dish.
Freezing: Not recommended. Steamed fish suffers significantly on thawing — texture becomes mushy.
Leftover use: Flake the leftover fish and use it in fried rice or congee. Stir it into hot broth for a quick fish soup. The leftover sauce-and-juices liquid is also valuable — use as a base for noodle soup or rice porridge.
Fish freshness signs: Bright clear eyes, red gills, firm flesh, no fishy smell (fresh fish smells like the ocean, not "fishy"). A fish that smells strongly fishy is not fresh enough for this dish — the technique exposes everything about the fish quality.
Cultural Notes
Steamed fish with ginger and scallion (清蒸魚, qīng zhēng yú in Mandarin, cing jing jyu in Cantonese) is the dish that Cantonese cooks use to evaluate other Cantonese cooks. The dish exists at the intersection of two foundational Cantonese principles: qing (清, "clear/clean") and xiān (鮮, "freshness from the sea"). The goal is to highlight the natural flavor of fresh fish without burying it under heavy sauces or aggressive technique.
The dish reflects a broader philosophical principle in Cantonese cuisine. Unlike northern Chinese cooking (which uses heavy sauces, wheat-based starches, and slow-braised flavors) or Sichuan (which uses chili, peppercorn, and aggressive heat), Cantonese cooking is built on freshness, precision, and restraint. A great steamed fish is the most direct expression of this philosophy — nothing to hide behind, no sauce to compensate for poor fish, just technique and ingredient quality.
The cultural symbolism of fish (魚, yú) is also significant. The word is a homophone for "abundance" or "surplus" (餘, also yú), and serving a whole fish at celebrations — particularly Lunar New Year, weddings, and family reunions — is a wish for prosperity. The tradition is to never finish the fish entirely, indicating that abundance carries over to the next year. The head should point toward the guest of honor.
The dish is also closely tied to Cantonese seafood culture. Hong Kong, Guangzhou, and the Pearl River Delta region are surrounded by abundant fishing grounds, and live fish from tanks is the standard at any decent Cantonese restaurant. Diners commonly select their fish swimming in tanks and have it steamed within minutes. The freshness — "from tank to table in 15 minutes" — is the entire point.
Regional variations exist throughout China but most follow the same basic technique: a whole white fish, ginger and scallion under, more ginger and scallion on top after cooking, hot oil sizzled over, light soy poured around. Sichuan versions add chili oil. Hunan versions add chopped fermented chilies. Hong Kong banquet versions add julienned ham. The Cantonese standard remains the most influential and most widely served globally.
Nutrition Facts
Calories: 203kcal (10%)|Total Carbohydrates: 3.8g (1%)|Protein: 20g (40%)|Total Fat: 12.2g (16%)|Saturated Fat: 1.6g (8%)|Cholesterol: 47mg (16%)|Sodium: 885mg (38%)|Dietary Fiber: 0.7g (3%)|Total Sugars: 1.2g
You Might Also Like
Ratings & Comments
Ratings & Comments
Ratings
Share your thoughts on this recipe.
Sign in to rate and comment



