A steamed whole fish with Ginger, Scallion, Soy and cilantro is a big favorite on any Chinese table, and it’s almost always served at holiday meals and special occasions. This is definitely true for Cantonese families at formal wedding and Chinese New Year banquets, but also for family gatherings at home. For those from Shanghai and other parts of China, you may get a braised fish instead, which is also a great meal. There are many whole fish recipes that vary in cooking methods and flavors depending upon where you are in China.
While we’ve done a steamed Cantonese fish recipe in the past, it actually involved a fish fillet. This time, we’re really going to show you how to prepare a steamed whole fish (including how to serve it at the table!), so you can impress your friends (or perhaps your Chinese parents and/or in-laws).
You can virtually steam any whole fish that comes in good eating sizes (1 to 2 pounds), but my favorite is striped bass. Sea Bass is also a common fish used for steaming in Chinese cooking, but I’ve found the meat is not as delicate as striped bass. Flat fish like flounder, fluke, or grey sole are also very good for steaming as well.
I always say the best way to eat fish is to eat what’s in season (and hopefully sustainable), because it will be fresh and usually less expensive. For those of you who cannot easily access whole fresh fish, using fish filets are the next best thing and usually easier to prepare. (Feel free to check out the other Cantonese Steamed Fish recipe I mentioned earlier.)
If you can get fresh fish, don’t be intimidated by this steamed whole fish dish. The hardest part is simply figuring out how you’re going to steam it. Once you have your steaming arrangement worked out, it is really easy to prepare and will impress your family and guests. Be sure to scroll down through the end of the post to see our tutorial on serving your whole fish at the table––a request we received from a Woks of Life reader!
Chinese Steamed Whole Fish: Recipe Instructions
After you get your fish home from the market, it’s important to cook it as soon as possible. We’re lucky enough to have a local fish monger at an Asian Market that sells live fish, so it is super fresh. Some restaurants also sell fresh fish from live tanks, but be prepared to pay. At Chinese restaurants, fish is often sold by the pound since they vary in size, and it is not unusual for a 1 ½ pound striped bass to cost $30 or more. By contrast, we purchased a fresh whole fish to cook at home for $8.95 per pound, or about $13.50.
There is always some work to be done to process your fish before cooking, no matter how good your fish monger is. Of course, you can ask him to do all the steps below. I’m going to get pretty detailed, so if you’re squeamish, you might want to just head over to the steamed fish recipe using a fillet right about now.
Preparing the fish
1. Remove any scales from your fish using a serrated steak knife. The areas to look for are the belly and the edges of the fish including the top, near the dorsal fins, and the head. There is nothing worse than having to pick out scales while you’re having dinner.
2. Cut off any fins with kitchen shears. They are pretty tough, so be careful with this step. Leave the tail and head intact for presentation.
3. Look at the cavity, and you should see the backbone. You may also see a membrane that you should pierce and cut, revealing a blood line near the bone. Run your finger or a spoon across it to clean it thoroughly.
4. Check the head and gills. You should not see any gills left, and if there are, remove them with the kitchen shears and rinse the area clean. Older Chinese folks who like dining on the fish head will appreciate this step.
5. Give the fish a final rinse, shake off the excess water (no need to pat it dry) and transfer to a heat-proof plate for steaming. No salt, seasoning, or wine should be used on the fish before steaming. Repeat. Nothing on the fresh fish before steaming!
Ok you’re ready to cook the dish!
Assembling the dish
For steaming, I used an elongated heat-proof plate. Normally, we would use a metal steamer but to accommodate that, I needed to MacGyver a steaming apparatus that would fit said plate. It’s simple enough. I used a wok and metal steam rack. If you need more height to keep the plate above the water in the wok, set a rack on top of a metal can with both ends removed. It’s a handy and cheap addition to your kitchen arsenal!
Steam for 9 minutes and turn off the heat. Use a butter knife to peek at the meat and confirm the fish is cooked through. The meat should be opaque down to the bone, but the bone should be slightly translucent and not fully cooked (remember, you will not be eating the bone. Trust me on this one!).
Next, carefully pour off all of the liquid accumulated on the plate from steaming and spread half of the ginger, the green portions of the scallions, and the cilantro over the fish.
Mix the water, salt, sugar, light soy sauce or seasoned soy sauce, and fresh ground white pepper in a small bowl or measuring cup. Heat 2 tablespoons oil and the other half of the ginger in a saucepan until the ginger begins to sizzle and add to the sauce mixture. Heat the mixture until simmering.
Once simmering, add the rest of the oil and white portions of the scallion and stir until the liquid begins to simmer and sizzle once again.
Spoon the entire mixture evenly over the steamed whole fish and serve hot!
You’re going to need some rice to soak up all that sauce!
How to serve your Chinese steamed whole fish at the table:
The fish should look spectacular, so you’ll want to present it whole (it should definitely be the last dish prepared so you can serve it right away). Once everyone has oo’ed and aahh’ed at the table, you could just dig in (many Chinese families do), or you could remove some of the bones and prepare it for your guests at the table. It’s like carving the turkey at Thanksgiving so if you prefer, you can bring it back to the kitchen and prepare it there as well. Here’s how to do it.
1. Use a butter knife and serving fork to gently separate the meat from the main backbone (i.e. the bone that runs through the fish, from head to tail). The backbone should be slightly translucent but the meat opaque…which is a sign that the fish is cooked perfectly.
2. Use a serving fork to carefully lift the meat off of the main central backbone, and flip it over. You may have to flip it over in two pieces.
3. With the backbone now exposed, you can carefully lift it up from the tail first. Break the backbone at the head of the fish and discard.
4. Next, gently push away the bones that run along the top of the fish onto the side of the plate. If you have a Chinese guest, keep those on the plate (there’s still meat on them, and it’s considered wasteful to throw that piece away).
5. There will also be larger bones along the rib cage running down to the belly of the fish. These bones are long on the striped bass and sea bass, and can be pushed aside.
6. Finally, spoon the surrounding sauce over your deboned steamed whole fish and let everyone dig in. Make sure you cook lots of rice, because it’s absolutely delicious with the sauce. I’ve found that kids especially love the sauce over rice!
This Chinese steamed whole fish is an essential dsh to add to your collection of cook-at-home authentic Chinese recipes!
If you have older Chinese guests, they may very well go for the fish head. If not, you should go for the fish cheeks and the meat just behind the head. These are very tender, and some of the best parts on the fish. Enjoy!
Chinese Steamed Whole Fish
Ingredients
- 1 whole striped bass or sea bass (about 1 ½ lbs/680g, cleaned; see instructions)
- 3 tablespoons fresh ginger (finely julienned)
- 2 scallions (finely julienned with green and white parts separated)
- 8 sprigs fresh cilantro (roughly chopped)
- ¼ cup canola oil (plus 2 tablespoons)
- ¼ cup water
- ¼ teaspoon salt
- ¾ teaspoon sugar
- ¼ cup light soy sauce (or seasoned soy sauce)
- Fresh ground white pepper to taste
Instructions
Preparing the fish:
- Remove any scales from your fish using a serrated steak knife. The areas to look for are the belly and the edges of the fish including the top, near the dorsal fins, and the head. There is nothing worse than having to pick out scales while you’re having dinner.
- Cut off any fins with kitchen shears. They are pretty tough, so be careful with this step. Leave the tail and head in tact for presentation.
- Look at the cavity, and you should see the backbone. You may also see a membrane that you should pierce and cut, revealing a blood line near the bone. Run your finger or a spoon across it to clean it thoroughly.
- Check the head and gills. You should not see any gills left, and if there are, remove them with the kitchen shears and rinse the area clean. Older Chinese folks who like dining on the fish head will appreciate this step.
- Give the fish a final rinse, shake off the excess water (no need to pat it dry) and transfer to a heat-proof plate for steaming. No salt, seasoning, or wine should be used on the fish before steaming. Repeat. Nothing on the fresh fish before steaming!
Assembling the dish:
- For steaming, I used an elongated heat-proof plate. To accommodate that, I needed to MacGyver a steaming apparatus that would fit said plate. It's simple enough. I used a wok and metal steam rack. If you need more height to keep the plate above the water in the wok, set a rack on top of a metal can with both ends removed. It’s a handy and cheap addition to your kitchen arsenal!
- Steam for 9 minutes and turn off the heat. Use a butter knife to peek at the meat and confirm the fish is cooked through. The meat should be opaque down to the bone, but the bone should be slightly translucent and not fully cooked (remember, you will not be eating the bone. Trust me on this one!).
- Next, carefully pour off all of the liquid accumulated on the plate from steaming and spread half of the ginger, the green portions of the scallion, and the cilantro over the fish.
- Mix the water, salt, sugar, light soy sauce or seasoned soy sauce, and fresh ground white pepper in a small bowl or measuring cup. Heat 2 tablespoons oil and the other half of the ginger in a saucepan until the ginger begins to sizzle and add in the sauce mixture. Heat the mixture until simmering.
- Once simmering, add the rest of the oil and white portions of the scallion and stir until the liquid begins to simmer and sizzle once again. Spoon the entire mixture evenly over the fish and serve hot!
Sorry! Forgot the rating! Couldn’t leave without giving it five stars.
This was one of the five Woks of Life recipes we did for our Hogmanay dinner a few months ago, and from that meal came the inspiration to open our own blog. It is a winning recipe because it is easy, fast, delicious, incredibly festive for the little work it entails. Very healthy and light. We love it!
Hi Alicia, very cool. I have never been to a Hogmanay celebration – have to plan a trip to beautiful Scotland!
Why not using the steaming liquid on the plate instead of water to make the sauce?
I cooked this recipe for dinner and everyone loved it .. thank you for sharing this wonderful recipe
You’re welcome Kartika – enjoy!
Hi Chanh, In most cases, the steaming liquid on the plate has a strong fishy taste, and it is a bit cloudy, so instead of using it, we pour it out (I mix it with our dog Barley’s food because she loves it) and use water for a cleaner taste and presentation. This is how restaurants do it. ;-)
Hi there! Thanks for sharing! I was just wondering what’s the purpose of adding water to the oil mixture when cooking? Maybe I did it with the heat too high but it caused the oil to splash everywhere… sorry if this was asked previously!
Hi Kaz, The water is part of the sauce mixture, so I clarified the recipe to premix the water with the other ingredients to make the sauce. When you pour the sauce into the pan, it will splatter a little, but you can turn the heat down before adding the sauce if it gets too hot.
I love your recipes. Are you able to make this with a whole wok fried fish instead of steaming it?
Hi Dori, you can fry the fish but it is a different ballgame. If you like pan fried fish, then try our recipe for pan fried whole fish.
Hi!
Thanls for this recipe! My would make it and I thought i remembered how did it but this recipe confirms my memory. I wasn’t too far off. Now I make it for friends and it always gets raves.
I have a couple of questions, please.
1. Can I make the sauce a few hours in advance?
2. Why not season the fish before steaming? (actually I often have to wrap my fish in foil and bake them because i have to do multiple fish at a time).
Hi Louise, you can mix the sauce in advance but I would finish the sauce as the recipe states with the fresh herbs right before serving. I can’t technically say why we don’t season the fish before steaming but in my experience, Cantonese cooking always steams the fish without seasoning.
I am half Cantonese and half Hakka. This recipe is close to my heart. Thanks for sharing it.
You’re welcome Ira!
I made this last night for a group of friends, everyone loved it! Had to tweak a few things because of my own fault (I could only get whole sea bream and I ended up ‘steaming’ this in a foil parcel in the oven 180c for approx. 20 mins because of lack of steaming method) but it still worked very well. The sauce is sooo delicious. Thank you Bill for your amazing recipes.
Hi Lourah, I have recently learned that oven steaming does work nicely!
How would you do oven steaming?
Hi Annabel, good question! We don’t have a recipe for using the oven for steaming but you could place the fish on a sheet pan and cover it with aluminum foil and place it in a hot oven. Unfortunately, I don’t have the details for what temp to use and how long it’d take, but the method does work nicely if you don’t have a large wok for steaming.
I just made this for Chinese New Year Dinner day 1. My husband commented that it is delicious, extremely delicious, comparable to restaurant standard. The key is to follow expert Bill’s advice to not over steam the fish (slightly undercooked at bone area)! Fish meat was creamy and melted in the mouth! Huat ah! Thank you so much and I wish you and your entire generous and wonderfully talented family a wonderful wonderful cow year full of joy, laughter and auspicious energy!
Hi Am, so happy to hear this steamed whole fish was on your table for CNY and that it turned out delicious :) Thank you for the well wishes and Happy and healthy Ox new year to you and your family as well!
Do you think this couple be done with tilapia or will it be too mushy?
Sure, you can, Hannah.
Hi,
I only have Pompano fish on hand. Would it work for this recipe too?
Hi Janina, Pompano fish while it is firm, it is still delicious!
Yes, Janina, it works. I love Pompano, the meat is so tender :-)