Chinese Steamed Fish is one of the simplest yet most elegant dishes in Chinese cooking. A whole fish is gently steamed until tender, then finished with fresh aromatics and hot oil that releases an incredible fragrance. The result is a dish that highlights the natural sweetness of the fish while keeping the texture silky and delicate.
What makes this dish so special is how little it requires. With just a few ingredients—ginger, scallions, and soy sauce—you can transform a fresh fish into something deeply flavorful and restaurant-quality. Steaming also preserves the fish’s natural moisture, creating a clean, light dish that feels both comforting and refined.
Although it may look impressive, Chinese steamed fish is surprisingly easy to make at home. Once you understand a few simple techniques, you can create a perfectly tender, aromatic fish that’s worthy of any special occasion or family meal.
Why Fish Is Served During the Chinese New Year
Fish hold a special meaning during the Chinese New Year and many other celebrations in Chinese culture. In Mandarin, the word for fish—yú (鱼)—sounds the same as the word for surplus or abundance (余). Because of this, serving fish symbolizes the wish for prosperity and extra blessings in the year ahead.
A common phrase often heard during the holiday is 年年有余 (nián nián yǒu yú), which means “may you have abundance year after year.” Serving fish at the New Year’s table reflects this hope for continued prosperity and good fortune.
The fish is also traditionally served whole, with the head and tail intact. This represents completeness and a smooth beginning-to-end year. In many families, part of the fish is intentionally left uneaten to symbolize that abundance will carry over into the future.
Because of these cultural meanings, a beautifully steamed whole fish is often one of the most important dishes on the Chinese New Year table.
Best Fish for Chinese Steamed Fish
Fresh, mild white fish works best for Chinese steamed fish because it has a delicate flavor and tender texture that pairs well with ginger, scallions, and soy sauce.
Some of the most commonly used fish include:
Striped bass: One of the most popular choices, with firm flesh and a clean flavor.
Sea bass: Tender and slightly buttery, excellent for steaming.
Snapper: Mild and flaky with a slightly sweet taste.
Tilapia: A convenient and affordable option that steams well.
Flounder or sole: A very delicate fish that cooks quickly.
The most important factor is freshness. Look for fish with clear eyes, shiny skin, firm flesh, and a clean ocean-like smell. Fresh fish will always produce the best flavor in a simple dish like steamed fish.
How to Tell When Steamed Fish Is Done
Steamed fish cooks quickly, so it’s important not to overcook it. Perfectly steamed fish should be tender, moist, and just cooked through.
There are a few simple signs to look for:
The flesh turns opaque: Raw fish appears translucent, but fully cooked fish becomes opaque and white.
The meat flakes easily: Gently insert a chopstick or fork into the thickest part of the fish. If it separates easily, it is done.
The backbone loosens slightly: In whole fish, the flesh will start to pull away from the bones when fully cooked.
If you prefer using a thermometer, the internal temperature should reach about 140–145°F (60–63°C).
Overcooking can cause the fish to become dry, so it’s best to check it a little early.
How to Remove Fishy Smell from Fish
A well-prepared steamed fish should taste fresh and clean, not fishy. Several simple techniques help reduce unwanted odors.
Start with fresh fish: Fresh fish naturally has a mild aroma, while older fish develops stronger smells.
Pat the fish dry: Removing excess moisture helps eliminate surface odors and improves the steaming process.
Use ginger and scallions: These aromatics are commonly used in Chinese cooking to neutralize fishy smells while adding fragrance.
Discard the steaming liquid: After steaming, the liquid collected on the plate often contains impurities and stronger fish aromas. Pouring it away before adding the final sauce keeps the flavor clean and balanced.
These small steps make a big difference in the final dish.
How to Steam Fish Without a Steamer
If you don’t have a dedicated steamer, you can still steam fish easily using common kitchen equipment.
Using a wok: Place a steaming rack inside the wok with water underneath, then set the fish on a heatproof plate above the water.
Using a large pot: Place a small bowl or metal rack inside the pot to elevate the plate holding the fish above the water level.
Using a bamboo steamer: If you have one, it can be placed over a wok or pot of simmering water.
The key is to keep the fish elevated above the water so it cooks in steam rather than boiling.
Once the water reaches a steady boil, place the fish inside, cover, and steam according to the recipe’s timing.
Let’s Talk Ingredients
Whole fish
A whole fish is really the key here. It steams more evenly and stays much juicier than fillets. I like using striped bass because it’s tender and mild, but sea bass, snapper, or even tilapia all work well.
Ginger and scallions
You really don’t need much for this dish, but these two are essential. The ginger keeps the flavor clean, and the scallions add that fresh aroma right at the end.
Soy sauce
This is where most of the flavor comes from. Once it mixes with the juices from the fish, it turns into a light, savory sauce you’ll want to spoon over everything.
Dried shrimp
Just a small amount makes a difference. It adds a deeper seafood flavor that you might not immediately notice, but it rounds everything out.
Cooking oil
The hot oil at the end is what brings everything together. When you pour it over the ginger and scallions, it releases that signature aroma — that moment when you hear the sizzle, that’s when you know it’s right.
Step-by-Step: Let’s Cook
Serves: 2
Prep time: 10 minutes
Cook time: 15 minutes
1. Prepare the fish
Pat the cleaned striped bass dry with paper towels, including the belly cavity.
Using a sharp knife, carefully cut along both sides of the backbone from inside the fish, without cutting all the way through the skin. This allows the fish to open slightly.
Tip: Butterflying the fish this way helps it cook more evenly and shortens the steaming time. It also makes the meat easier to separate from the bones when serving.
2. Make the sauce
In a small pot over low heat, combine the water, soy sauce, scallions, cilantro, ginger, shallot, and dried shrimp.
Simmer gently for about 5 minutes until fragrant. Turn off the heat and allow the sauce to cool slightly, then strain to remove the aromatics.
Tip: Straining the sauce keeps the flavor clean and lets the delicate fish remain the focus.
3. Prepare the steaming plate
Place several scallion stalks on a heatproof plate to create a small rack.
Set the fish on top of the scallions and brush the fish lightly with cooking oil.
Add ginger slices on top of the fish.
Tip: Elevating the fish allows steam to circulate more evenly and prevents the bottom from overcooking.
4. Steam the fish
Bring water to a boil in a large steamer over high heat.
Carefully place the fish inside, cover, and steam for about 6 minutes.
Remove the fish and carefully pour off the steaming liquid. Discard the ginger and scallions used during steaming.
Tip: For larger fish, add about 2 minutes for every additional ½ pound. The liquid released during steaming often contains stronger fish aromas, so discarding it helps keep the final flavor clean and delicate.
5. Finish and serve
Top the fish with the julienned scallions, ginger, and red bell pepper.
In a small pan, heat the cooking oil until smoking hot. Carefully pour the hot oil over the aromatics to release their fragrance.
Drizzle the prepared soy-based sauce around the fish and serve immediately.
Tip: Pouring the hot oil over fresh aromatics creates the signature fragrance found in many Cantonese steamed fish dishes.

25-Min Chinese Steamed Fish Recipe
Ingredients
For the fish
- 1½ pound striped bass gutted, descaled, and cleaned
- 3 stalks scallions
- 6 slices ginger
- 1 teaspoon cooking oil
For the sauce
- ½ cup water
- ½ cup soy sauce
- 2 stalks scallions, cut into 1-inch pieces
- 2 sprigs cilantro, cut into 1-inch pieces
- 2 slices ginger
- 1 small shallot, cubed
- 1 teaspoon dried shrimp
For the toppings
- 2 stalks scallions, julienned
- 3 slices ginger, julienned
- ⅛ medium red bell pepper, julienned
- 4 tablespoons cooking oil high-smoking-point
Instructions
- To prepare the fish, pat the fish dry with paper towels, including the belly cavity. Using a sharp knife, cut along both sides of the backbone from inside the fish without cutting through the skin.
- To make the sauce, in a pot over low heat, combine the water, soy sauce, scallions, cilantro, ginger, shallot, and dried shrimp. Simmer gently for about 5 minutes until fragrant, then strain the sauce and set aside.
- To prepare the fish for steaming, place the scallion stalks on a heatproof plate to create a rack and set the fish on top. Brush the fish lightly with cooking oil and place the ginger slices on top.
- To steam the fish, bring water to a boil in a large steamer over high heat. Carefully place the fish inside, cover, and steam for about 6 minutes.
- To finish the dish, remove the fish and pour off the steaming liquid. Discard the ginger and scallions used during steaming. Top the fish with the julienned scallions, ginger, and red bell pepper. Heat the cooking oil until smoking and carefully pour it over the aromatics. Drizzle the prepared sauce around the fish and serve immediately.





i love it the steam grouper with that sauce.
Thank you! Happy cooking! 🙂
Hello! Thanks for recipe
You are so welcome! 🙂
yummyanddelicious
Many thanks! 🙂