Chinese-Style Steamed Fish with Ginger and Scallions

Updated November 5, 2026

Total time
38 min
prep 20 min · cook 18 min
Serves
4
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Chinese-Style Steamed Fish with Ginger and Scallions

Chinese-style steamed fish is a Cantonese-inspired dish of tender whole fish or fillets finished with ginger, scallions, soy sauce, and hot oil. Gentle steaming keeps the fish moist, while a quick pour of sizzling oil releases the aromatics; regional and family versions vary in their seasonings and garnishes.

Ingredients

  • 1 whole white-fleshed fish, cleaned and scaled, about 2 lb (900 g), such as sea bass, branzino, or red snapper; ask the fishmonger to clean it, or use 4 skin-on fillets totaling about 1½ lb (680 g)
  • 1 tsp (5 g) fine salt
  • 2 tbsp (30 ml) Shaoxing rice wine, divided; dry sherry is a practical substitute, though it has a slightly different aroma
  • 2 in (5 cm) fresh ginger, peeled and cut into thin matchsticks, about 1 oz (28 g)
  • 4 scallions, about 3 oz (85 g), cut into 2-in (5-cm) lengths, with the white and green parts separated
  • 3 tbsp (45 ml) light soy sauce
  • 1 tbsp (15 ml) water
  • 1 tsp (5 ml) toasted sesame oil
  • 2 tbsp (30 ml) neutral oil, such as peanut, canola, or grapeseed oil
  • ¼ tsp (1 g) white pepper, optional
  • Small handful of fresh cilantro leaves, about ½ oz (14 g), optional

Instructions

  1. Prepare the fish and steamer. Pat the fish dry and check that no scales or pin bones remain. If using a whole fish, make two or three shallow diagonal slashes on each side so it cooks evenly. Rub the fish inside and out, or over both sides of the fillets, with the salt and 1 tablespoon (15 ml) Shaoxing wine. Set aside for 10 minutes, then drain any liquid that collects. Meanwhile, bring 1–2 in (2.5–5 cm) of water to a steady boil in a wok or pot fitted with a steaming rack. The water must stay below the rack.
  2. Set up the plate. Scatter half the ginger and the scallion whites on a heatproof plate that fits inside the steamer. Place the whole fish on top, or arrange fillets in a single layer. Put the remaining ginger over the fish. Keep the scallion greens aside for the finish.
  3. Steam until safely cooked. Set the plate on the rack over boiling water and cover tightly. Steam a 2 lb (900 g) whole fish for about 12–16 minutes; start checking at 12 minutes. Fillets usually need 6–10 minutes, depending on thickness. Add boiling water if the pot begins to run low. Check the thickest part with an instant-read thermometer, without touching bone: the USDA FSIS safe minimum for fish is 145°F (63°C). The flesh should also look opaque and separate easily with a fork. If it is below temperature, cover and steam for another 1–2 minutes before checking again.
  4. Make the sauce. While the fish steams, stir together the remaining 1 tablespoon (15 ml) Shaoxing wine, soy sauce, water, sesame oil, and white pepper if using. Once the fish is cooked, carefully lift the plate out of the steamer—the plate and trapped liquid will be very hot. Pour off the steaming liquid, which can taste diluted, and spoon the soy mixture evenly over the fish.
  5. Finish with hot oil. Scatter the scallion greens over the fish. Heat the neutral oil in a small saucepan until shimmering but not smoking, about 1–2 minutes. Carefully pour it over the ginger and scallions; it should sizzle. Garnish with cilantro if desired and serve immediately.

Tips

  • Choose fish of even thickness. A whole fish should be similar in thickness from head to tail. For fillets, arrange pieces of comparable thickness together; remove thinner pieces as soon as they reach 145°F (63°C) if they finish first.
  • Keep the steam steady. Start with boiling water and a well-fitting lid. A plate that is too large to leave space for steam, or a lid that leaks heavily, can make cooking uneven.
  • Use a safe plate and handle it carefully. Check that the plate is heatproof and fits securely on the rack. Lift it with oven mitts or sturdy tongs, and keep your face and hands away from escaping steam.
  • Adjust the salt thoughtfully. Light soy sauce varies in saltiness. If yours is especially salty, begin with 2 tablespoons (30 ml), taste the sauce, and add the remaining tablespoon only if needed. Do not reuse raw-fish marinade as a finishing sauce.

Serving Suggestions

Serve the fish straight from its steaming plate, spooning the ginger, scallions, and sauce over each portion. Steamed jasmine rice is a natural partner for soaking up the savory juices. Add a simple vegetable side such as steamed Chinese broccoli, bok choy, or snow peas; dress vegetables separately so the fish’s delicate sauce remains clear. For a family-style meal, set out serving spoons and let diners take portions carefully around the bones.

Variations

Use skin-on fillets when a whole fish is unavailable; cook them in a single layer and begin checking early because thin pieces finish quickly. For a slightly sweeter sauce, add ½ teaspoon (2 g) sugar. A few thin strips of red chile add heat without changing the steaming method. If Shaoxing wine is unavailable, dry sherry works well; water can replace the wine if avoiding alcohol, though the result will have less aromatic depth. For a lighter finish, reduce the hot oil to 1 tablespoon (15 ml), but the scallions will be less dramatically warmed.

Storage and Reheating

Refrigerate leftover fish within 2 hours of cooking in a covered, shallow container. It keeps for 3–4 days in the refrigerator; for best texture, store the fish and any remaining sauce together and avoid leaving it at room temperature. Reheat only the portion you plan to eat, covered, in a steamer or microwave until the center reaches 165°F (74°C). Gentle reheating helps limit drying, but the fish will be more fragile than when freshly cooked. Discard leftovers that have been above refrigeration temperature for more than 2 hours, or 1 hour when the temperature is above 90°F (32°C).

Frequently Asked Questions

Can I make this with frozen fish?
Yes. Thaw it safely in the refrigerator overnight, then pat it thoroughly dry before seasoning. Fish cooked from frozen can release more water and cook unevenly, so thawing first gives the most reliable timing and texture.

How long should I steam a whole fish?
For a whole fish around 2 lb (900 g), plan on roughly 12–16 minutes once the water is boiling, but thickness and steamer strength matter. Use the thermometer, not the clock alone: the thickest part must reach 145°F (63°C).

Can I steam the fish without a wok?
Yes. Use a large pot with a lid and a stable steaming rack or metal trivet. Add enough water to create steam without letting it touch the plate, and make sure the covered pot has room for steam to circulate.

Do I need to remove the bones before serving?
No. A whole fish is traditionally served with its bones, but diners need to eat carefully. If serving children or anyone who may have difficulty spotting bones, use boneless fillets and check them closely before cooking.

Can I prepare the sauce ahead?
Mix the soy sauce, water, sesame oil, wine, and optional pepper shortly before cooking, or refrigerate the mixture covered for up to 1 day. Heat the neutral oil and pour it over the fresh scallions only when the fish is ready to serve.

Why pour off the steaming liquid?
Fish releases water as it cooks, which can dilute the seasoned sauce. Pouring it off before adding the soy mixture gives a more concentrated finish. If you prefer a milder sauce, reserve a spoonful of the liquid and stir it into the sauce to taste.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).