A hallmark of Cantonese home cooking, this whole steamed fish is prized for its clean, delicate flavor — sweet flesh kissed with ginger and scallion, then finished with a sizzling pour of hot oil and seasoned soy. Serve it with steamed jasmine rice for a meal that feels both elegant and effortless.
Prep Time15 mins
Cook Time15 mins
Total Time30 mins
Servings4
Yield4 servings
Nutrition Facts
Per serving (estimated)
- 290 kcalCalories
- 14 gFat
- 2.5 gSaturated Fat
- 2 gCarbs
- 0 gFiber
- 1 gSugar
- 34 gProtein
- 720 mgSodium
- 480 mgPotassium
- 40 mgCalcium
- 1.2 mgIron
- 5 mgVitamin C
- 60 mcgVitamin A
Ingredients
For the fish
- 1 whole sea bass or snapper (about 1.5–2 lb), gutted, scaled, and fins trimmed
- 1-inch piece fresh ginger, peeled and julienned
- 4 scallions, white and green parts separated, both julienned
- 2 tablespoons Shaoxing wine
- 1/2 teaspoon kosher salt
For the soy dressing
- 3 tablespoons light soy sauce (or steamed fish soy sauce)
- 1 teaspoon sugar
- 2 tablespoons warm water
For the hot-oil finish
- 3 tablespoons peanut oil or other neutral oil
- 1 small handful fresh cilantro leaves
- 1 red Thai chili, thinly sliced (optional)
Directions
- Rinse the fish under cold running water and pat thoroughly dry with paper towels. Make 3 to 4 shallow diagonal cuts on each side, about 1/2 inch deep and spaced 1 inch apart, to help the heat penetrate evenly.
- Rub the salt and Shaoxing wine all over the fish, including inside the cavity. Spread the scallion whites and half the ginger across a heatproof plate, lay the fish on top, and tuck the remaining ginger and scallion whites inside the cavity.
- Fill a wok or large pot with 2 inches of water and bring to a rolling boil over high heat. Set a steaming rack inside and make sure the water sits below it.
- Carefully lower the plate with the fish onto the rack, cover tightly, and steam over high heat for 10 to 13 minutes — the fish is done when the flesh near the backbone turns opaque and flakes easily when nudged with a chopstick.
- While the fish steams, whisk the soy sauce, sugar, and warm water together in a small bowl until the sugar fully dissolves. Set aside.
- Remove the plate from the steamer and pour off any cloudy liquid pooled around the fish — this carries fishy odors and would dilute the sauce. Scatter the julienned scallion greens evenly across the top of the fish.
- Heat the peanut oil in a small saucepan over high heat until it just begins to smoke, about 350°F. Immediately and carefully pour the hot oil evenly over the scallions and fish; the scallions should sizzle and wilt instantly, releasing their aroma.
- Pour the soy dressing around the edges of the plate (not directly over the fish, to preserve its delicate steamed flavor). Garnish with cilantro and sliced chili if using, and bring straight to the table with steamed jasmine rice.
Cook’s Notes
- Freshness is non-negotiable: buy the fish the same day you cook it and look for clear eyes, bright red gills, and a clean ocean scent — no fishiness.
- Always drain the cloudy liquid that pools after steaming; it contains proteins and fishy compounds that will muddy the final sauce.
- The oil must be genuinely smoking hot — lukewarm oil will leave the scallions raw and flat instead of fragrant and silky.
- Sea bass, snapper, and striped bass are traditional choices; for thinner fish like tilapia, reduce steaming time by 1–2 minutes to avoid overcooking.
- For a deeper, more restaurant-style flavor, scatter a few thin slices of cured ham and 2 shiitake mushrooms over the fish before steaming.










