This authentic Chinese Steamed Fish is one of the simplest dishes to make. It involves creating an aromatic ginger scallion oil, steaming a fish, dressing it with slivered green onions, and then pouring the hot oil over it. Finally, a small amount of sweetened soy sauce is drizzled around the edges.
Can't get enough of steamed recipes? Try my Steamed Chicken Breast next!

This steamed whole fish is delicious and wholesome. I don't know any other more popular dish among Chinese home cooks. It's easy, flavorful, and comes together quickly for a simple weeknight dinner.
Serve this Chinese Steamed Fish recipe with Yu Choy, Sichuan Eggplant, or Mapo Tofu. If you want to add a spicy touch, provide a small bowl of Chinese Chili Sauce for your guests to spoon over the fish.
Jump to:
🥢 What is it?
Chinese Steamed Fish, or Cantonese Steamed Fish, is a classic Chinese dish. It's prepared by steaming a fresh fish, usually one with white flesh, and then seasoning it with fresh aromatics like ginger and spring onions. The ingredients are few and serve only to enhance the fish's flavor. Towards the end, a small amount of sweetened soy sauce is drizzled around the fish for dipping.
While in China, steamed fish is traditionally served whole, many home cooks prefer to cut it into smaller pieces. This allows for easier cooking, as smaller portions are more manageable and don't require a large pot.
🐟 What fish to use?
Chinese steamed fish is typically made with white-fleshed fish, but variations with salmon and trout can be equally delicious. For this dish, it's essential to choose fresh fish. Look for bright, shiny skin with tightly-fitting scales. Older fish have dry, dull flesh and loose scales. The eyes should be clear and bulging; if the fish has sunken or cloudy eyes, look for a different fish. This guide by AllRecipes is terrific.
My favorite types of fish for steaming are:
- Sea bass
- Tilapia
- Ling Cod
- Rock Cod
- Pompano
🧂 Ingredients
- Whole fish - Choose white-fleshed fish like sea bass, tilapia, rock cod, or ling cod. Pink-fleshed fish like trout or salmon will also work.
- Shaoxing wine and salt - Used for marinating the fish. In Chinese cuisine, Shaoxing wine helps mask fishy or gamey flavors in fish and meat.
- Scallions - The whites will be used for the infused oil, while the greens will be used for garnishing at the end.
- Oil - We need five tablespoons for the infused oil. Use a neutral-flavored oil such as canola, vegetable, soybean, corn, or peanut oil.
- Ginger - It is an essential flavoring component for the oil. Use fresh ginger, and do not substitute with dried or powdered ginger.
- Soy sauce - Use light soy sauce, not dark soy sauce. Your bottle is probably light if it doesn't specify light and isn't labeled as dark or double dark.
- Sugar - Just a small amount is needed for sweetness.
🔪 Instructions
Step 1. Make infused oil
Heat 5 tablespoons of oil in a small saucepan over medium-high heat until it reaches 350°F. Add the ginger and scallion whites, reduce the heat to medium-low, and cook for 5 minutes. Then, turn off the heat and allow the mixture to steep for ten more minutes.
Strain the oil into a small bowl, discard the ginger and scallions, and pour the oil back into the saucepan. Set it aside for later.
Step 2. Prepare fish
Begin by making 3 or 4 parallel, diagonal cuts on each side of the fish, starting from the thickest part of the flesh near the backbone and extending towards the stomach.
Next, thoroughly rub the inside and outside of the fish with Shaoxing wine and salt. Then, place the fish on a steaming tray and let it rest for 10-15 minutes.
Step 3. Make sweetened soy sauce
Combine sugar and hot water in a small bowl. Stir to dissolve the sugar, then add the soy sauce and stir to combine.
Step 4. Steam
Steam on high heat for 12-15 minutes until an instant-read thermometer inserted into the thickest part of the flesh reaches 145°F. Transfer to a serving platter.
Step 5. Finish
Scatter the slivered scallion greens over the top of the fish. Reheat the infused oil over medium-high heat until it reaches 350°F or smokes slightly, then drizzle it over the scallion greens, causing them to sizzle dramatically. Pour over the soy sauce mixture around the edges of the fish and serve immediately.
💭 Top Tips
- Monitor the temperature of the oil using an instant-read thermometer. The ginger and spring onions may burn if the temperature is too high.
- Avoid marinating for more than 15 minutes. The meat of fish is quite delicate, and longer marination times can ruin the texture.
- If your steaming tray or basket is not long enough to fit the entire fish, you can cut it in half. Reassemble on the serving plate.
👨🏻🍳 Variations & Substitutions
- Fish fillets can be used in place of whole fish. Since fish fillets are usually thinner, you'll likely need to reduce the steaming time by a few minutes. Use an instant-read thermometer to monitor the fish's temperature for the best results.
- Shaoxing wine can be substituted with Sherry or omitted altogether.
- Drizzle on ½ teaspoon of Toasted Sesame Oil for added nuttiness.
🥡 Storage & Leftovers
Storing: Allow leftover Chinese Steamed Fish to cool completely before transferring it to an airtight container or tightly wrapping it in plastic wrap. Refrigerate and consume it within 2-3 days for the best quality.
Reheating: Reheat leftovers by steaming on high heat for 4-6 minutes.
Freezing: To freeze leftover steamed fish, wrap it tightly in plastic wrap and then place it in a freezer-safe container. Store it in the freezer for up to 2 months. When ready to use the frozen fish, thaw it in the refrigerator overnight. Once thawed, use one of the methods listed above to reheat it.
📖 Recipe FAQs
An instant-read thermometer is the best way to determine whether the fish is cooked. When the temperature reaches 145°F, it's fully cooked. If you don't have a thermometer, you can check the opacity of the fish's flesh. The flesh should be white and opaque. Check the thickest part of the fish, which cooks the slowest.
I recommend cooking the fish for about 10-15 minutes but keep in mind that the size of each fish will vary, and your steaming setup may differ. You may need to adjust the cooking time accordingly. Monitor the fish closely after 8 minutes to ensure you don't overcook it.
Generally, I don't recommend using frozen fish for Chinese Steamed Fish because the seasonings are minimal, and any off flavors in the fish will be more noticeable. Frozen fish often has more pronounced off flavors because it's not as fresh and absorbs flavors from its freezer.
🍽 Looking for more Chinese recipes?
Did you enjoy this recipe? Please leave a 🌟🌟🌟🌟🌟 rating in the recipe card below and consider leaving a comment. I'd love to hear your feedback!
📋 Recipe
Authentic Chinese Steamed Fish
Ingredients
Ginger scallion oil
- 5 tablespoon neutral oil
- 5 scallion whites
- 5 slices ginger
Fish
- 1 white-fleshed fish (sea bass, tilapia, rock cod, ling cod, etc.) (about 1 ½ pounds, scaled and cleaned, with the head on)
- 1 tablespoon Shaoxing wine
- ½ teaspoon coarse kosher salt
Sweetened Soy sauce
- 1 tablespoon hot water
- 1 teaspoon sugar
- 3 tablespoon soy sauce
For garnishing
- 5 scallion greens julienned
Instructions
- Heat 5 tablespoons of oil in a small saucepan over medium-high heat until it reaches 350°F. Add the ginger and scallion whites, reduce the heat to medium-low, and cook for 5 minutes. Then, turn off the heat and allow the mixture to steep for ten more minutes. Strain the oil into a small bowl, discard the ginger and scallions, and pour the oil back into the saucepan. Set it aside for later.
- Begin by making 3 or 4 parallel, diagonal cuts on each side of the fish, starting from the thickest part of the flesh near the backbone and extending towards the stomach. Next, thoroughly rub the inside and outside of the fish with Shaoxing wine and salt. Then, place the fish on a steaming tray and let it rest for 10-15 minutes.
- Combine sugar and hot water in a small bowl. Stir to dissolve the sugar, then add the soy sauce and stir to combine.
- Steam on high heat for 12-15 minutes until an instant-read thermometer inserted into the thickest part of the flesh reaches 145°F. Transfer to a serving platter.
- Scatter the slivered scallion greens over the top of the fish. Reheat the infused oil over medium-high heat until it reaches 350°F or smokes slightly, then drizzle it over the scallion greens, causing them to sizzle dramatically. Pour the sweetened soy sauce around the edges of the fish and serve immediately.
Notes
- Monitor the temperature of the oil using an instant-read thermometer. The ginger and spring onions may burn if the temperature is too high.
- Avoid marinating for more than 15 minutes. The meat of fish is quite delicate, and longer marination times can ruin the texture.
- If your steaming tray or basket is not long enough to fit the entire fish, you can cut it in half. Reassemble on the serving plate.
Leave a Reply