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
- 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
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!