Cantonese Steamed Fish is cooked to silky perfection then drizzled in a light soy sauce for a healthy and easy dish perfect for every occasion. Learn Grandma’s secrets on how to pick the freshest fish as well as Dad’s tips on how to serve it restaurant style!
If this recipe excites you, try it with freshly shucked oysters or as a sauce!
The perfect weeknight or holiday dish
You know a dish is special when it’s featured in Lunar New Year banquets. Grandma’s Cantonese Steamed Fish with Ginger and Shallots marks a spot in family every celebration, yet it’s humble enough to be enjoy as part of an easy weeknight spread.
What I love most about this recipe that the flesh simply falls apart in your chopsticks.
And the best part about making it in your own kitchen? You’ll FEEL the ginger and shallots sizzling when you pour smoking hot oil over the aromatics.
Then you only have to wait for the incredible aromas to fill your house…
It’s indescribable.
Trust me, once you try Cantonese Steamed Fish and realize just how easy it is to get chef’s quality food at home, there’s no turning back.
My only suggestion is to try and make it as soon as you can!
What fish is good for steaming?
Our Cantonese Steamed Fish with Ginger and Shallots recipe will work well with any type, including fillets (something we commonly use for congee), but this time we chose to use silver perch.
You want a fish with a generous amount of fat to ensure that the flesh stays moist and tender throughout the cooking process. This also means that you’ll have a tasty palette to absorb the sauce.
Of course, you can always opt for leaner varieties like cod, flounder, salmon or talipia if that’s what you prefer.
Another easy option is to go for frozen ones which we often use for braising or frying. All will yield delicious results, so find what works for you!
How do you pick fresh fish from the market?
When cooking whole fish, Grandma likes to choose the ones from the tank from the fish monger. The steaming process is relatively quick, so you’d want the freshest ingredients.
But if you don’t want to choose the live form, here are ways to hand-pick the best ones from the market:
- Look for clear eyes. Make sure the fish’s eyes are clear rather than cloudy. You need to be able to see that the pupils are dark because anything else could signify an old fish.
- Lift the gills. One peek into the gill will indicate whether the seafood is fresh or not. You want to see bright red inside of the gill. If it’s brown or black, move along to the next one.
- Feel the fins. Dry or brittle fins and tails means they’re part of a bad batch. It’s best if both are still soft and malleable.
- Run your fingers over the scales. If the produce is fresh, the scales will be tight against its body. You’ll find that scales begin to fall off with older fish.
- Give it a sniff. This is an absolute last resort because, well, who wants to go around sniffing? But you’d want to make sure your seafood has no foul odors. The last thing you want is to buy anything that’s beginning to rot!
Follow Grandma’s tips and tricks and you’ll end up with the freshest dish to serve. It’s especially exciting when you’re sharing it at a party!
What you’ll need
For the steaming
About the aromatics
The amount you use for this Cantonese Steamed Fish recipe is entirely up to personal preference. Just keep in mind that the purpose of ginger is to remove the fishy smell during the steaming process, so it’s ideal to have at least some on it.
For the sauce
About the ingredients
The ratio of the sauce will depend on what you prefer. If you like it saltier, use more light soy sauce or reduce the amount of sugar or water. Likewise, if you like it sweeter, add more sugar.
How to make this recipe
Preparing the fish for cooking
To make sure the plated dish is completely clear of any scales, run a cleaver over the skin and scrape off any last scales.
Pro Tip: Do this under a tap of running cold water to wash the scales away.
Optional: Score the fish with two lines across its body on both sides.
Use scissors to cut off the fins and to trim the tail.
Optional: Remove the gills.
Steaming
Set up your steamer and bring it to a boil, then coat the fish’s top and insides with ginger. This will reduce any fishy smells.
Place the fish in the steamer and steam for 15 minutes or until cooked. To test it, poke a chopstick through. It should be clean when pulled out.
Pour the excess liquid out of the dish after it has been cooked.
Top the cooked seafood with spring onions and bring the oil to smoking point in a small saucepan. Pour it over the aromatics to sizzle.
Pro Tip: You should see a light layer or smoke coming up from the oil once it reaches smoking point.
Meanwhile, combine the light soy sauce, sugar and water in a small saucepan with 1 tbsp cooking oil. Bring to a boil then turn off the heat and set aside.
Pour the sauce AROUND the fish to prevent it from getting soggy.
How to serve the dish restaurant style
Use a fork and spoon to break off the head and tail from the body.
Keep the utensils close together and cut along the length of the fish along the center from one end to the other.
Push the meat aside. The top half can be pushed up and the bottom half to the bottom.
Use the spoon to scoop up the bone. Gently pull it away from the body and place the whole bone on an empty part of the plate.
Put the meat back onto the body where it was before, this time just without the long bone inside.
Spoon some sauce over the fish to season.
Serve immediately as is!
Recipe FAQs
We always eat the skin on fish when we cook it. So long as the scales are cleaned off properly, the texture is smooth and slippery. But of course, if you prefer not to eat it then just remove it altogether.
Finding the right balance for fish can be difficult when using different sizes. Even the steamer itself will have different steaming temperatures! Just test it with various steaming durations to see which works best for the type you have.
Tips for the best results
- Cook it just before eating. Cantonese Steamed Fish is a dish that should be eaten fresh out of the steamer. Plan to make it just before serving to ensure a silky hot bite.
- Use fresh ingredients. This is a given for most recipes, but it’s particularly important for this one because you’ll end up with juicier flesh.
- Keep the sauce separate until the very end. We use techniques like pouring it around the silver perch or spooning the sauce on after deboning so you can really taste the fish’s freshness.
- Use a large enough dish and steamer to fit the fish. The last thing you want is for your seafood to not fit when steaming!
Our favorite family seafood dishes
- Ginger Scallion Lobster (蔥薑龍蝦) – A celebration must, this Cantonese classic is makes the best of ginger and scallions in a stir fry.
- Braised Abalone with Mushrooms (红烧鲍菇) – Cooked low and slow, the tender abalone is a delicacy that is enjoyed with rice.
- Cá Kho Tộ (Vietnamese Braised Fish) – Melt-in-your-mouth tender, there is nothing quite like the sweet and savory caramelized dish.
- Tôm Rim (Vietnamese Caramelized Shrimp) – Sticky and finger lickin’ good, these crunchy prawns work well as a weeknight side dish.
- Vietnamese Mango Salad (Gỏi Xoài) – Get the party started with this exciting salad full of zest and flavor!
Want more home cooked recipes?
Subscribe to our email list and be the first to get recipe updates as soon as they’re posted. You can also follow Wok & Kin on Instagram, Pinterest, Facebook and Twitter!
Cantonese Steamed Fish with Ginger and Shallots (清蒸鱼)
Equipment
- Steamer
Ingredients
For The Steaming
- 1 whole fish (we get the fish monger to descale and gut it for us)
- 20 g / 0.44 ginger (cut into thin strips)
- 1 sprig spring onions (sliced diagonally or into thin strips)
Instructions
Preparing The Fish For Cooking
- To make sure the plated dish is completely clear of any scales, run a cleaver over the skin and scrape off any last scales.Pro Tip: Do this under a tap of running cold water to wash the scales away.Optional: Score the fish with two lines across its body on both sides.
- Use scissors to cut off the fins and to trim the tail.
- Optional: Remove the gills.
For The Steaming
- Set up your steamer and bring it to a boil, then coat the fish’s top and insides with ginger. This will reduce any fishy smells.
- Place the fish in the steamer and steam for 15 minutes or until cooked. To test it, poke a chopstick through. It should be clean when pulled out.
- Pour the excess liquid out of the dish after it has been cooked.
- Top the cooked seafood with spring onions and bring the oil to smoking point in a small saucepan. Pour it over the aromatics to sizzle.Pro Tip: You should see a light layer or smoke coming up from the oil once it reaches smoking point.
- Meanwhile, combine the light soy sauce, sugar and water in a small saucepan with 1 tbsp cooking oil. Bring to a boil then turn off the heat and set aside.
- Pour the sauce AROUND the fish to prevent it from getting soggy.
How To Serve The Dish Restaurant Style
- Use a fork and spoon to break off the head and tail from the body.
- Keep the utensils close together and cut along the length of the fish along the center from one end to the other.
- Push the meat aside. The top half can be pushed up and the bottom half to the bottom.
- Use the spoon to scoop up the bone. Gently pull it away from the body and place the whole bone on an empty part of the plate.
- Put the meat back onto the body where it was before, this time just without the long bone inside.
- Spoon some sauce over the fish to season.
- Serve immediately as is!
Video
Notes
- Cook it just before eating. Cantonese Steamed Fish is a dish that should be eaten fresh out of the steamer. Plan to make it just before serving to ensure a silky hot bite.
- Use fresh ingredients. This is a given for most recipes, but it's particularly important for this one because you'll end up with juicier flesh.
- Keep the sauce separate until the very end. We use techniques like pouring it around the silver perch or spooning the sauce on after deboning so you can really taste the fish's freshness.
- Use a large enough dish and steamer to fit the fish. The last thing you want is for your seafood to not fit when steaming!
- The amount of aromatics you use for this Cantonese Steamed Fish recipe is entirely up to personal preference. Just keep in mind that the purpose of ginger is to remove the fishy smell during the steaming process, so it's ideal to have at least some on it.
- The ratio of the sauce will depend on what you prefer. If you like it saltier, use more light soy sauce or reduce the amount of sugar or water. Likewise, if you like it sweeter, add more sugar.
Nutrition
This post was originally published on 31/1/20 and updated with tips and FAQs in June 2021.
Love this recipe! It turned out so flavorful and delicious and was way easier than I thought it would be! Will definitely make again!
That’s so great to hear! Thanks, Kim!
I love some steamed fish – so healthy and delicious! I love the sound of the ginger and shallots to add some extra tasty flavour.
Ginger and shallots definitely makes a huge difference!
Love this recipe! Such great flavors and I especially am grateful that you included pictures showing how to prepare the fish before cooking – that’s a hard one for me otherwise, but now I know!
I’m glad you liked the instructions on how to prepare the fisb! It was always confusing for me until learnt the steps 🙂
I love ordering a whole fish whenever we are a Chinese restaurant! The flavors in this are out of this world and I cannot wait to bring this restaurant-favorite to my own kitchen!
It’s surprisingly easy to make at home! Enjoy!
This is a beautiful presentation and a great way to eat fish.
Thanks, Erika!
Before adding the soy sauce mixture to the fish, should I drain the liquid on the plate to avoid a fishy smell? Thanks
Hi, Kat! You can drain it if you like but it’s completely optional 🙂
The name is ginger and shallots, where are the shallots. I see spring onions, but no shallots.
Hi, John! In Australia, we call shallots ‘spring onions’, but in other parts of the world they’re also called ‘shallots’.