A fresh whole fish steamed to a tender texture, seasoned with a delicious dressing, Chinese steamed fish requires little cooking skill but tastes incredible.

Chinese steamed fish in a plate

Pin this now to find it later!

Pin It

A feasts classic

As I shared in my Tasting Table interview on symbolic Chinese food, there’s a well-known saying that shows just how important fish is in Chinese cuisine: 无鱼不成席 (Wú Yú Bù Chéng Xí), meaning you can’t call it a feast if there is no fish present. Among many classics, steamed fish is no doubt the most popular type as it retains the best natural taste of the fish.

As the centrepiece of a multi-course meal for festivals and special occasions (e.g. Chinese New Year feasts), the fish is supposed to be whole with the head, tail and fins all in place. As I mentioned in my recipe for Sweet & Sour Fish, the Chinese character “余” (abundant) shares the same pronunciation as 鱼 (fish), therefore a fish dish symbolizes abundance year after year (年年有余). 

Save this recipe
Enter your email & we’ll send it to your inbox. Plus get great new recipes from us every week!

Today’s recipe is based on Cantonese style steamed fish which is seasoned with a simple soy sauce based dressing, along with aromatics like scallions and ginger. I give the traditional recipe a twist by infusing the oil with dried chili and Sichuan peppercorn. 

Choose the fish

Many types of fish can be used to make delicious Chinese style steamed fish. For shooting this recipe, I used sea bream which is widely available in the UK. Sea bass, grass carp, perch, grouper, catfish, flounder, etc. all work very well. Although traditional recipes call for white flesh fish, I find rainbow trout a great option too.

Picking up a piece of steamed fish with chopsticks

No matter what fish you use, make sure it’s as fresh as possible (straight out of a fisherman’s net if possible). Believe me! In terms of both taste and texture, the freshness of the fish contributes the most to the success of this steamed dish. It’s not ideal, but acceptable, to use frozen fish for heavily seasoned dishes, such as Sichuan Boiled Fish or Sweet & Sour Fish. But for today’s recipe, I strongly recommend fresh fish.

Prepare the fish

If the service is available, have the fish gutted and descaled by the fishmonger, but keep the head and tail on for the whole look. If you have to do the work yourself, have a look at this tutorial on how to descale and gut a fresh fish.

Before steaming, give the fish a good rinse under running water then pat dry thoroughly using kitchen paper. Lay the fish on a chopping board to cut it at a 45-degree angle several times on each side. This helps to cook through quickly and allow more flavour to penetrate. 

Cutting a fish

The last step of preparation is to “dress” the fish with some aromatics: scallions and ginger. Cut them into thin strips and place them underneath and over the fish, as well as inside the cavity. During steaming, they lend a beautiful, subtle aroma to the fish. Be generous in volume if you appreciate their tastes as I do.

How to steamer

Steamer set-up

To steam a fish whole, you would usually need a wok that is big enough to fit a plate which holds the fish. Here is how you set up a steamer:

  1. Place a small bowl in the middle of the wok (use a wire steamer rack instead if you have one).
  2. Add water to the wok. Make sure it’s lower than the bowl/rack.
  3. Bring the water to a full boil then put the fish plate on top of the bowl/rack. Cover with a lid to steam.
A plate of fish in a wok

The home version of bamboo or metal steamers are often too small for placing a whole fish in (especially if you’ve got an extra-long one). In this case, follow the “cheat” method that I learnt from food writer Fuchsia Dunlop:

  • Cut the fish into halves at a steep diagonal angle.
  • Put them side by side onto a small plate that fits into your steamer.
  • After steaming, transfer to a serving plate and join the two halves together to regain a whole fish appearance.

Steam for 8 minutes

Take the sea bream in my image for example. It weighs about 400g/14oz and I steamed it for 8 minutes over high heat. Please feel free to adjust the cooking time based on the size of your fish. Remember to set a timer as soon as you put the fish into the wok/steamer, especially when you’re multitasking in the kitchen and can be easily distracted.

The goal is to avoid overcooking and achieve the “just cooked” texture: perfectly tender and juicy. If uncertain, gently poke the thickest part of the fish with chopsticks. If the flesh comes off the bones effortlessly, it’s fully cooked. Remove the fish plate immediately from the wok/steamer.

How to season

After steaming, you’ll see some cloudy water in the plate which comes from the condensation. It’s very important to remove it before adding any seasoning to the fish as you don’t want it to dilute the sauce.

cooking dried chili and Sichuan pepper in oil

Heat up about one and a half tablespoon of neutral-flavoured cooking oil, along with sliced dried chili and a pinch of whole Sichuan peppercorns. As soon as the oil starts to smoke, pour it over the fish. Traditional Chinese steamed fish, which is often cooked in the Cantonese style, doesn’t include any spices in the oil. You may do so if you wish. But I highly recommend you try my way to spicy it up. It won’t come out too hot but a subtle hint of spiciness and numbing sensation can effectively elevate the taste of the dish. 

Pouring sauce over steamed fish

Now onto the final step: briefly heat up the sauce in the pan you just used for the oil then pour it over the fish. The simple sauce consists of:

  • Soy sauce, the star seasoning for Chinese steamed fish. Use the light version or regular soy sauce (which isn’t labelled as light or dark). 
  • Shaoxing rice wine which can be replaced by dry sherry, sake or regular white wine for this recipe. If you wish to make the dish alcohol-free, please feel free to skip it.
  • Sugar and white pepper which enhance the umami taste.

The fish fillet version

As I mentioned in the beginning of the post, fish is appreciated whole in most dishes of Chinese cuisine. That being said, the steaming method and seasoning formula can be applied to skinless, boneless fish fillet too.

You may need to adjust the cooking time a little based on the thickness of the fillet, but everything else can be done exactly the same way. I often steam fresh cod fillet which is absolutely delicious!

I also have recipes using fish filets, such as Sichuan Boiled Fish, Sour Vegetable Fish, Sweet & Sour Salmon, Scallions Ginger Salmon, etc. The traditional recipe for Pan-Fried Belt Fish may also interest you.

Love this recipe? Please leave a 🌟🌟🌟🌟🌟 rating and a comment. Thank you!

cantonese steamed fish
5 from 81 votes

Steamed Fish, the Chinese Way (清蒸鱼)

A fresh whole fish steamed to a tender texture, seasoned with a delicious dressing, Chinese steamed fish requires little cooking skill but tastes incredible.
Prep: 3 minutes
Cook: 10 minutes
Total: 13 minutes
Servings: 2
Save this recipe!
Get this sent to your inbox, plus get new recipes from us every week!

Ingredients 

  • 1 whole fish, gutted and descaled, about 400g/14oz, see note 1
  • 2 stalk scallions, julienned
  • 1 small piece ginger, julienned
  • tablespoon cooking oil, sunflower, vegetable, peanut, etc.
  • 1 dried chili, julienned
  • 1 pinch whole Sichuan peppercorn
  • 3 tablespoon light soy sauce
  • 1 tablespoon Shaoxing rice wine, see note 2
  • ½ teaspoon sugar
  • 1 pinch ground white pepper

Instructions 

  • Wash the fish thoroughly then pat dry with kitchen paper. Cut the fish at a 45-degree angle several times on each side. Lay it onto a plate that fits in the wok/pot which you’ll use to steam.
  • Put 1/3 of the scallions and ginger into the cavity of the fish. Scatter the rest under and over the fish.
  • Place a steamer rack (or a small bowl) in the middle of a wok. Add water to the pot (lower than the rack/bowl) and bring it to a full boil.
  • Put the fish plate on top of the rack (bowl). Cover the wok with a lid. Steam over high heat for 8 minutes (add 2 more minutes if your fish is larger).
  • Take out the plate (use oven gloves to avoid burning). Carefully remove the cloudy liquid. 
  • Heat up oil, dried chili and Sichuan pepper in a small pan over low heat. As soon as the oil starts to smoke, pour it over the fish (you may either pour the spices onto the fish or discard them).
  • Add light soy sauce, Shaoxing rice wine, sugar and white pepper to the same pan. Heat up until it bubbles. Pour over the fish.
  • Serve immediately with plain rice (Don’t forget to dip the flesh into the sauce for best flavour).

Notes

1. I used sea bream for shooting this recipe. You may use other varieties of fish, such as sea bass, grass carp, perch, grouper, catfish, flounder, etc.
2. For this recipe, Shaoxing rice wine can be replaced with dry sherry, sake or white wine. You may skip it if you wish to make the dish alcohol-free.
3. If your serving plate is too big to fit in the wok/pot, you may cut the fish in halves at a steep diagonal angle then place onto a smaller plate for steaming. Arrange the fish back to its original shape in the serving plate before you pour in the oil and sauce. 

Your Recipe Notes

Nutrition

Serving: 1serving | Calories: 363kcal

Nutrition information is automatically calculated, so should only be used as an approximation.

Like this? Rate and comment below!

Hi! I’m Wei

Born and raised in China, I’m the do-it-all creator behind this blog, a free digital cookbook sharing authentic, accessible Chinese recipes since 2017. I couldn’t be happier to have you here!

More Fish & Seafood

Leave a comment

Your email address will not be published. Required fields are marked *

Rate this recipe




This site uses Akismet to reduce spam. Learn how your comment data is processed.

32 Comments

  1. Chan Chun Seng says:

    Have not try yet. Will give my comment after trying out. Thanks

  2. Divz T says:

    5 stars
    Really simple and easy to make. It also taste delicious. Thanks!

  3. Nick Pantalones says:

    5 stars
    Thank you for featuring a delicious, easy-to-prepare dish!
    I used tilapia because it is less expensive and has a ‘neutral’ taste, but followed your ingredients and directions. The feedback from the household is so positive that I’m including it in my kitchen repertoire!

    1. Wei Guo says:

      Lovely to hear that Nick!

  4. Patricia says:

    5 stars
    Cooked this for Chinese New Year 2023 and everyone loved it. No fishy smells or taste. Just fish! Thank you.

    1. Wei Guo says:

      That’s wonderful to hear. Happy New Year!

  5. feng mei says:

    i will try to make this for this chinese new year! hopefully i could make it 😀

    1. Wei Guo says:

      Happy cooking!

  6. Jennifer says:

    5 stars
    Super delicious and very easy to follow.

    1. Wei Guo says:

      That’s great to hear Jennifer!

  7. Jay says:

    I am not a good cook. Shall try your recipe soon. Reckon the results would astonish my friends. This terrible cook prepared the steam fish????? I m certain of receiving compliments from your 5 star recipe. Thanks

    1. Wei Guo says:

      Happy cooking Jay!

  8. David says:

    This recipe was so good. First time steaming fish, or ever actually using a whole one. Thanks for making this great dish accessible!

  9. Evelyn says:

    5 stars
    So simple and easy to execute!

  10. Krish Kumar says:

    5 stars
    I tried your recipe today using sea bass fish fillets. The recipe was tweaked slighty combing the proceduresof making the sauce consequent to steaming. It was easy to prepare and delicious.

    1. Wei @ Red House Spice says:

      Happy to hear that Krish!