Steamed Fish Superior: Cantonese Soy-Ginger Recipe

Updated November 6, 2026

Total time
27 min
prep 15 min · cook 12 min
Serves
4
portions as written

Jump to recipe

Steamed Fish Superior: Cantonese Soy-Ginger Recipe

Steamed fish superior is a classic Cantonese dish where a whole fish is steamed until silky and tender, then finished with a hot oil that sizzles over ginger, scallions, and light soy sauce. It works because the gentle steam keeps the flesh moist and delicate, while the aromatic oil and soy brighten the natural flavor of the fish without masking it. This is the home-cook version of the dish served at banquet tables, and it comes together in under 30 minutes.

Ingredients

  • 1 whole fish (about 1.5 lb / 680 g), such as sea bass, trout, or tilapia, scaled and gutted
  • 2 scallions, white parts cut into 2-inch lengths, green parts julienned
  • 2-inch piece fresh ginger, peeled and julienned
  • 2 tbsp (30 ml) light soy sauce
  • 1 tbsp (15 ml) oyster sauce (optional)
  • 1 tsp (5 ml) sesame oil
  • 1/4 tsp white pepper
  • 3 tbsp (45 ml) neutral oil (like canola or grapeseed)
  • 1/4 cup (60 ml) water or chicken stock
  • Fresh cilantro leaves, for garnish

Instructions

  1. Pat the fish completely dry with paper towels. Score both sides with 3 shallow diagonal cuts to help it cook evenly. Rub the fish inside and out with a pinch of salt and the white pepper.
  2. Place the white parts of the scallion and half of the ginger inside the fish cavity. Lay the fish on a heatproof plate that fits inside your steamer. If you have a steamer rack, place the plate on it; otherwise, put a small inverted bowl in the bottom of a wide pot, add 1 inch of water, and set the plate on top.
  3. Bring the water to a rolling boil over high heat. Carefully place the plate with the fish into the steamer, cover, and steam over high heat for 8–10 minutes, or until the fish flakes easily with a fork and reaches a safe minimum internal temperature of 145°F (63°C) as measured with a food thermometer at the thickest part. Start checking at 8 minutes; do not overcook.
  4. While the fish steams, mix the soy sauce, oyster sauce (if using), sesame oil, and 1/4 cup (60 ml) water or stock in a small bowl. Set aside.
  5. When the fish is done, carefully remove the plate from the steamer (use tongs or oven mitts—it will be very hot). Pour off any accumulated liquid from the plate, but do not wipe it dry.
  6. Drizzle the soy sauce mixture evenly over the fish. Scatter the julienned ginger and green scallion strips over the top.
  7. In a small saucepan, heat the neutral oil over high heat until it shimmers and just begins to smoke, about 1 minute. Carefully pour the hot oil over the ginger and scallions—it will sizzle and release their aroma.
  8. Garnish with cilantro and serve immediately, spooning some of the sauce over each portion.

Tips

  • Fish selection: Any white fish with firm flesh works—sea bass, snapper, trout, or even thick fillets like cod or halibut. If using fillets, reduce steaming time to 6–8 minutes and check temperature early.
  • Don’t skip the hot oil: The sizzling oil is what makes the ginger and scallions fragrant and gives the dish its signature aroma. If you skip it, the dish will taste flat.
  • Make sure your steamer is big enough: The fish needs at least 1 inch of clearance on all sides for steam to circulate. If your pot is too small, cut the fish in half and steam in two batches.
  • Check for doneness early: Fish continues to cook after you remove it from the steamer. If the flesh at the thickest part flakes easily but is still slightly translucent near the bone, it’s done—it will finish cooking on the plate.

Serving Suggestions

Serve the steamed fish with steamed jasmine rice and a side of stir-fried greens like bok choy or gai lan. For a complete Cantonese meal, pair with egg drop soup or a simple cucumber salad. The sauce is delicious spooned over the rice.

Variations

  • Sichuan-style: Add 1 tbsp (15 g) doubanjiang (fermented broad bean paste) to the soy sauce mixture and top with chopped pickled chilies for a spicy kick.
  • Thai-style: Replace the soy sauce with fish sauce and lime juice, and top with sliced red chilies, lemongrass, and kaffir lime leaves.
  • Vegetarian: Use firm tofu or king oyster mushrooms sliced into steaks. Steam for 8 minutes and use the same sauce; the dish becomes a hearty main.
  • Fillet version: Use 1 lb (450 g) of thick white fish fillets. Arrange them in a single layer on the plate, steam for 6–8 minutes, and proceed with the sauce and oil.

Storage and Reheating

Steamed fish is best eaten immediately, but leftovers can be refrigerated in an airtight container for up to 2 days. To reheat, place the fish in a microwave-safe dish, cover with a damp paper towel, and heat in 30-second bursts until just warmed through—do not overheat or the fish will become rubbery. Alternatively, reheat in a steamer over boiling water for 3–4 minutes. The sauce will thicken slightly; add a splash of water if needed. Do not freeze cooked fish, as the texture will degrade significantly.

Frequently Asked Questions

Can I use frozen fish? Yes, but thaw it completely in the refrigerator overnight and pat it very dry before steaming. Frozen fish releases more water, so you may need to pour off more liquid after steaming.

What if I don’t have a steamer? You can use a large pot with a tight-fitting lid, a heatproof plate, and a small inverted bowl to elevate the plate. Just make sure the water doesn’t touch the plate.

How do I know the fish is cooked without a thermometer? The flesh should be opaque and flake easily when gently pressed with a fork. If it still looks translucent in the center, steam for another 2 minutes and check again.

Can I use dark soy sauce? Dark soy sauce is thicker and sweeter; it will make the dish darker and heavier. Stick to light soy sauce for the classic Cantonese flavor, or use a mix of half light and half dark for a richer color.

Is it okay to use a fillet instead of a whole fish? Absolutely—just reduce the steaming time to 6–8 minutes and check for doneness early. Fillets are easier for weeknight cooking.

Why did my fish turn out dry? Over-steaming is the most common cause. Fish cooks quickly; start checking at 8 minutes for a whole fish, and remember that it continues to cook after you remove it from the steamer.

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).