This easy and delicious Chinese steamed fish recipe features a whole golden pomfret steamed with ginger, garlic, fermented black beans, and green onions, then finished with hot oil and soy sauce for a savory, aromatic flavor. This Cantonese steamed fish is simple to make and takes only about 15 minutes to cook.
Growing up in Macau, Hong Kong, and southern China, I ate Chinese steamed fish regularly at home, at family gatherings, and in Cantonese restaurants. Steamed fish was often served alongside other Cantonese favorites, such as lobster yee mein, roast duck, crispy noodles, and braised mushrooms.
Steaming is one of my favorite ways to prepare fresh whole fish because it keeps the flesh moist and tender while allowing the fish's natural flavor to shine. In this recipe, I'll show you how to steam a whole golden pomfret and share my tips for making flavorful, restaurant-style Chinese steamed fish at home.
Love authentic Chinese food? Check out these har gow, turnip cake, claypot rice, mouth-watering chicken, Chinese cured pork belly, taro paste, Chinese eggplant & pork, beef & broccoli, mapo tofu, and soy sauce chicken recipes.

What Is Chinese Steamed Fish?
Cantonese steamed fish is a traditional Chinese dish made by steaming fresh fish until the flesh is tender and juicy, then seasoning it with aromatic ingredients and a savory sauce. Whole fish is commonly used in Cantonese cooking because steaming allows the fish's delicate, natural flavor to stand out.
Growing up in Macau, Hong Kong, and southern China, I often ate steamed whole fish at home, at family gatherings, and in Cantonese restaurants. It is a familiar Cantonese dish served for both everyday family meals and special occasions. We often enjoyed steamed fish alongside other home-style dishes such as soy sauce chicken, cashew shrimp, ginger scallion crab, sweet and sour pork, garlic chive eggs, and hairy gourd vermicelli.
In Chinese culture, serving a whole fish with the head and tail intact symbolizes completeness, abundance, and prosperity. Fish is especially popular during Chinese New Year because the Chinese word for fish, yú (魚), sounds like the word for surplus or abundance (餘). For this reason, steamed whole fish is a popular dish for Chinese New Year celebrations, particularly in Cantonese and southern Chinese cuisine.
What Does Cantonese Steamed Fish Taste Like?
This Cantonese steamed fish has a savory, aromatic, and slightly salty flavor from the fermented black beans, garlic, ginger, soy sauce, and green onions. Steaming keeps the golden pomfret moist and tender while letting its naturally mild, slightly sweet flavor come through.
The fermented black beans add a rich, savory umami flavor that pairs especially well with fresh fish. Finishing the steamed fish with hot oil helps release the aroma of the green onions and other seasonings, giving it that fragrant, restaurant-style flavor.
Why You'll Love This Steamed Fish Recipe
- Quick and easy: This steamed fish takes only about 15 minutes to cook, making it a simple dish for a weeknight dinner or special occasion.
- Tender and flavorful: Steaming keeps the golden pomfret moist and tender while preserving its naturally mild and slightly sweet flavor.
- Savory and aromatic: Fermented black beans, garlic, ginger, green onions, soy sauce, and hot oil add layers of savory, fragrant flavor without overpowering the fish.
- Restaurant-style at home: This simple steaming method gives you tender, flavorful Cantonese-style steamed fish without needing complicated cooking techniques.
- Perfect for special occasions: A whole steamed fish makes an impressive centerpiece for family dinners and is especially meaningful for Chinese New Year celebrations.
What to Serve With Chinese Steamed Fish?
Cantonese steamed fish is traditionally served family-style with rice and other Chinese dishes. The savory soy sauce and juices from the fish are especially delicious spooned over hot steamed rice.
Here are some of my favorite dishes to serve with steamed fish:
- Steamed white rice: A simple bowl of hot rice is perfect for soaking up the savory soy sauce and juices from the steamed fish.
- Chinese vegetables: Serve it with Chinese broccoli (gai lan), yu choy sum, stir-fried water spinach, bok choy stir-fry, Chinese amaranth spinach, or steamed green vegetables for a balanced meal.
- Fried rice: Pair the fish with ham fried rice when you want something more flavorful than plain rice.
- Chinese soup: A light Chinese soup pairs well with the delicate flavor of steamed fish. Try corn and carrot pork bone soup, green radish and carrot soup, watercress soup, or lotus root pork bone soup.
- Other Cantonese dishes: For a larger family dinner or special occasion, serve steamed fish alongside dishes such as soy sauce chicken, cashew shrimp, crab stir fry, sweet and sour pork, garlic chive eggs, and hairy gourd vermicelli.
What Fish Is Best for Steaming?
Fresh whole fish with tender, delicate flesh works best for Chinese steamed fish. I prefer golden pomfret because it has moist, tender flesh, a mild flavor, and relatively few small bones. However, you can use other types of fish depending on what is fresh and available in your area.
Some of the best fish for steaming include:
- Golden pomfret: My preferred choice for this recipe because the flesh is tender, moist, and mildly sweet.
- Sea bass: Delicate and tender with a mild flavor that pairs well with ginger, green onions, and soy sauce.
- Red snapper: Firm enough to hold its shape during steaming while still staying moist and tender.
- Grouper (Garoupa / 石斑 / 斑類): A prized choice in Cantonese cuisine. It has firm, sweet flesh that holds up beautifully to steaming without falling apart. Premium varieties include Red Grouper (紅斑) and Coral Trout (星斑), both highly prized for their clean, delicate flavor.
- Yellow croaker (黃花): A classic choice in Chinese cooking with soft, slightly sweet flesh and a delicate texture that steams very well.
- Tilapia: An affordable and widely available option with a mild flavor.
For the best results, choose the freshest fish available rather than focusing only on a specific variety. The exact steaming time will vary depending on the size and thickness of the fish.
Why Golden Pomfret Is Good for Steaming
Golden pomfret is one of my favorite fish to use for Chinese steamed fish because it has tender, moist flesh and a mild, slightly sweet flavor. It is also relatively easy to prepare because it has small, fine scales and fewer small bones compared with some other whole fish.
Growing up near the sea in Macau and southern China, fish and seafood were a regular part of our family meals. My grandparents ate fish almost every day, and steaming was one of the simple ways we enjoyed fresh whole fish.
For this recipe, I steam the golden pomfret with ginger, garlic, and fermented black beans. The ginger and garlic add aroma and help balance the stronger fishy flavors, while the fermented black beans add a deep, savory umami flavor that pairs especially well with steamed fish.
How Long Should You Steam Fish?
The steaming time depends on the size and thickness of the fish, and it can also vary depending on the type of steaming setup and container material you use. A small whole fish may take around 8-10 minutes, while a larger or thicker whole fish can take 12-15 minutes or longer.
If you use frozen fish, make sure to thaw it completely before steaming. This ensures even cooking and helps the fish steam properly without becoming watery or unevenly cooked.
For the golden pomfret in this recipe, I steam it for about 10-15 minutes, depending on its size and thickness.
As a general guide:
- Small whole fish: About 8-10 minutes
- Medium whole fish: About 10-15 minutes
- Large or thick whole fish: About 15-20 minutes or longer
- Fish fillets: About 6-10 minutes, depending on thickness
The type of container you use can also affect steaming time. For example, metal or thin heat-conductive plates tend to heat up quickly and may cook the fish slightly faster, while ceramic or thick glass dishes may take a little longer because they absorb and distribute heat more slowly. Always make sure the steam is strong and steady before timing the fish.
The fish is done when the flesh turns opaque and flakes easily with a fork. You can also check the thickest part of the fish with a food thermometer. According to USDA food-safety guidelines, fish should reach an internal temperature of 145°F (63°C).
Avoid oversteaming the fish because the flesh can become dry and tough. When steaming a whole fish, check the thickest part near the backbone to make sure it is fully cooked.
Ingredients for Cantonese Steamed Fish
This Cantonese steamed fish recipe uses just a few simple ingredients to bring out the natural flavor of the golden pomfret. Depending on the type of fish you use, the seasoning can be even simpler-some fish are best with just ginger, scallion, oil, salt, and soy sauce.

- Golden pomfret: I use a whole golden pomfret for this recipe. It has tender, moist flesh and a mild, slightly sweet flavor that is excellent for steaming.
- Ginger: Adds a fresh, warm aroma and helps balance the fishy flavor.
- Garlic: Adds a savory aroma and pairs especially well with the fermented black beans.
- Fermented black beans: Give the steamed fish a distinctive salty, savory, and umami flavor.
- Green onions: Add freshness and aroma, especially when finished with hot oil.
- Soy sauce: Adds savory flavor to the fish and steaming juices.
- Vegetable oil: Heated and poured over the fish and aromatics to release their fragrance.
- Salt: Lightly seasons the fish and enhances its natural flavor.
Steamed Fish Substitutions and Variations
This steamed fish recipe is easy to adjust depending on the type of fish and ingredients you have available. Keep in mind that substitutions may change the flavor and cooking time of the original recipe.
Substitutions:
- Golden pomfret: You can substitute another whole fish suitable for steaming, such as sea bass, red snapper, grouper, yellow croaker, Chinese perch, or tilapia. See the What Fish Is Best for Steaming? section above for more options.
- Fermented black beans: You can leave them out for a simpler Cantonese-style steamed fish. The flavor will be different, but ginger, green onions, soy sauce, and hot oil will still give the fish plenty of flavor.
- Vegetable oil: Use another neutral, high-heat cooking oil, such as corn or peanut oil.
Variations:
- Classic ginger and scallion: Skip the garlic and fermented black beans and steam the fish with ginger. Finish it with fresh green onions, hot oil, and soy sauce for a simple Cantonese-style preparation.
- Black bean and garlic: Follow this recipe as written for a stronger savory and umami flavor from the fermented black beans and garlic.
- Fish fillets: You can use fish fillets instead of a whole fish for a quicker option. Because fillets are thinner, reduce the steaming time and cook just until the fish is opaque and flakes easily.
- Add tofu: My family likes to add tofu when I make steamed fish. I place pieces of tofu around the fish on the same steaming dish so they cook together and absorb the savory juices and flavors from the fish, fermented black beans, garlic, and soy sauce.
How to Store and Reheat Steamed Fish?
Refrigerate:
Steamed fish tastes best when it is freshly cooked. If you have leftovers, let the fish cool, then store it in an airtight container in the refrigerator for up to 3-4 days.
Freeze:
You can freeze leftover steamed fish, but I don't usually recommend it because freezing and thawing can change the delicate texture of the fish. If you do freeze it, remove the bones if possible and store the fish in a freezer-safe container.
Reheat:
I personally like to reheat steamed fish in the microwave because it's quick and convenient. Place the fish in a microwave-safe dish, then cover it with a wet paper towel to help retain moisture. Heat it in short intervals until warmed through. This helps prevent the fish from drying out. Avoid overheating, as the texture can become tough and dry very quickly.
Food safety:
Refrigerate leftover cooked fish within 2 hours of cooking. When reheating, heat only the amount you plan to eat, rather than repeatedly reheating the same fish.
Expert Tips for the Best Steamed Fish
- Clean the fish thoroughly: If your fish is not already cleaned, remove the gills and internal organs and rinse the fish thoroughly. Pat it dry before seasoning and steaming.
- Use ginger: Place sliced ginger inside the fish cavity and on top of the fish. Ginger adds a fresh aroma and helps balance stronger fishy flavors.
- Start with boiling water: Bring the water to a full boil before placing the fish in the steamer. You want strong, steady steam so the fish cooks evenly.
- Choose the right steaming dish or container: Use a heatproof dish that can withstand high, consistent steam, such as ceramic, porcelain, or stainless steel. Avoid thin plastic or low-quality glass that may crack under high heat. A shallow plate is best so the fish cooks evenly and the steam circulates properly.
- Don't oversteam the fish: For the golden pomfret in this recipe, steam for about 10-15 minutes, depending on its size and thickness. The flesh should be opaque and tender when cooked.
- Use high heat for steaming: Keep the water at a steady boil while the fish is steaming so there is enough steam throughout the cooking process.
- Make sure the oil is hot: Heat the oil to 375-400°F (190-205°C) before pouring it over the green onions and aromatics. If you don't have a thermometer, dip the end of a dry wooden chopstick into the oil. Small bubbles forming around the chopstick indicate that the oil is hot.
- Pour the hot oil carefully: Slowly pour the hot oil over the green onions and aromatics on top of the steamed fish, then immediately add soy sauce. This releases their fragrance and gives the fish its aromatic, restaurant-style finish.
- Serve immediately: Cantonese steamed fish has the best texture and flavor when served hot, right after steaming and finishing with hot oil and soy sauce.
Common Mistakes When Steaming Fish
Even though steamed fish is simple to make, a few common mistakes can affect its texture and flavor. Here are the most important ones to avoid:
- Steaming the fish for too long: Oversteaming is one of the easiest ways to end up with dry, tough fish. Adjust the cooking time based on the size and thickness of your fish rather than relying on one exact steaming time.
- Starting with cold water: Don't place the fish in the steamer while the water is still heating. Bring the water to a full boil first so the fish begins cooking immediately with strong, steady steam.
- Steaming frozen or partially frozen fish: Thaw frozen fish completely before steaming. A partially frozen whole fish may cook unevenly, leaving the outside overcooked while the thickest part is still undercooked.
- Using a fish that isn't fresh: Steaming is a simple cooking method that highlights the fish's natural flavor, so freshness makes a noticeable difference. Choose the freshest whole fish available whenever possible.
- Using the wrong size dish: Make sure the fish fits comfortably on the steaming plate and that the plate fits inside your steamer. An overcrowded setup can interfere with steam circulation and even cooking.
- Not maintaining enough steam: Keep the water at a steady boil throughout cooking. If the heat is too low or you run out of water, the fish may take longer to cook and cook unevenly.
- Adding too much seasoning: Cantonese steamed fish should still taste like fish. Avoid overpowering it with too much soy sauce, salt, garlic, or fermented black beans.
- Letting the fish sit too long before serving: Steamed fish is best served immediately. Once cooked, finish it with the green onions, hot oil, and soy sauce and serve it while the flesh is still hot and tender.
FAQs About Chinese Steamed Fish:
A whole fish typically takes about 8-15 minutes to steam, depending on its size and thickness. A small whole fish may take around 8-10 minutes, while a medium fish may take 10-15 minutes. Larger or thicker fish may need additional time. The fish is done when the flesh is opaque and flakes easily at the thickest part.
I don't recommend steaming a whole fish directly from frozen. For the best texture and more even cooking, thaw the fish completely before steaming. A partially frozen fish can cook unevenly, causing the outside to become overcooked while the thickest part may still be undercooked.
Steamed fish is done when the flesh turns opaque and flakes easily with a fork. For a whole fish, check the thickest part near the backbone. The internal temperature should reach 145°F (63°C).
Yes. You can leave out the fermented black beans for a simpler Cantonese-style steamed fish. Steam the fish with ginger, then finish it with fresh green onions, hot oil, and soy sauce for a classic flavor.
Yes. You can use fish fillets instead of a whole fish. Since fillets are thinner, they cook faster and usually take about 6-10 minutes to steam, depending on their thickness. Steam just until the fish is opaque and flakes easily with a fork.
How to Make Chinese Steamed Fish:

Preparation:
1. First, cut 4 sticks of green onion (2 oz) into strips.

2. Then, cut 8 slices of ginger (1 oz) into strips.

3. After that, mince 4 cloves of garlic (1 oz).

4. Clean the fish by removing the gills and internal organs, then rinse it thoroughly and pat it dry.

5. Sprinkle ⅛ teaspoon of salt over the fish, then place some of the ginger strips inside the cavity and on top of the fish.

6. Next, sprinkle the minced garlic and 1 tablespoon of rinsed fermented black beans over the fish.

Cooking:
7. Once the water reaches a full boil, place the fish in the steamer. Cover and steam for 10-15 minutes, depending on the size and thickness of the fish.

8. When the fish is done, lay the green onion strips on top of the fish.

9. Heat 2 tablespoons of vegetable oil in a small pan until hot, about 375-400°F (190-205°C). If you don't have a thermometer, dip the end of a dry wooden chopstick into the oil; small bubbles should form around it.

10. Pour the hot oil over the green onion and add 2 tablespoons of soy sauce over the fish.

Enjoy this simple and delicious Chinese steamed fish recipe! Also, check out these chili garlic shrimp, steamed garlic shrimp, black sesame soup, Chinese steamed pork patty, Chinese sticky rice, chili oil, and tofu pudding recipes.
More Cantonese Recipes You'll Love:
- Steamed Spare Ribs with Black Bean Sauce
- Ginger Scallion Crab
- Beef with Bitter Melon
- Steamed Shrimp with Garlic
Subscribe to Oh My Food Recipes to get our new recipes delivered straight to your inbox! Follow along on Facebook, Pinterest, and Instagram for all the latest updates.

Steamed Fish
Equipment
- 1 Steamer or Pot
Video
Ingredients
- 1 Pomfret fish (Golden pomfret fish 2-2.5 pounds)
- 4 cloves Garlic minced (1 oz)
- 1 tablespoon Fermented black beans
- 8 slices Ginger (1 oz)
- 4 sticks Green onion (2 oz)
- โ teaspoon Salt
- 2 tablespoons Soy sauce
- 2 tablespoons Vegetables oil
Instructions
- First, cut 4 sticks of green onion (2 oz) into strips.
- Then, cut 8 slices of ginger (1 oz) into strips.
- After that, mince 4 cloves of garlic (1 oz).
- Clean the fish by removing the gills and internal organs, then rinse it thoroughly and pat it dry.
- Sprinkle ⅛ teaspoon salt of salt over the fish, then place some of the ginger strips inside the cavity and on top of the fish.
- Next, put the minced garlic and 1 tablespoon of fermented black beans (rinse the black beans) on top of the fish.
- Once the water reaches a full boil, place the fish in the steamer. Cover and steam for 10-15 minutes, depending on the size and thickness of the fish.
- When the fish is done, lay the green onion strips on top of the fish.
- Heat 2 tablespoons of vegetable oil in a small pan until hot, about 375-400°F (190-205°C). If you don't have a thermometer, dip the end of a dry wooden chopstick into the oil; small bubbles should form around it.
- Pour the hot oil over the green onion and add 2 tablespoons of soy sauce over the fish.
Notes
Expert Tips for the Best Steamed Fish:
- Clean the fish thoroughly: If your fish is not already cleaned, remove the gills and internal organs and rinse the fish thoroughly. Pat it dry before seasoning and steaming.
- Use ginger: Place sliced ginger inside the fish cavity and on top of the fish. Ginger adds a fresh aroma and helps balance stronger fishy flavors.
- Start with boiling water: Bring the water to a full boil before placing the fish in the steamer. You want strong, steady steam so the fish cooks evenly.
- Choose the right steaming dish or container: Use a heatproof dish that can withstand high, consistent steam, such as ceramic, porcelain, or stainless steel. Avoid thin plastic or low-quality glass that may crack under high heat. A shallow plate is best so the fish cooks evenly and the steam circulates properly.
- Don't oversteam the fish: For the golden pomfret in this recipe, steam for about 10-15 minutes, depending on its size and thickness. The flesh should be opaque and tender when cooked.
- Use high heat for steaming: Keep the water at a steady boil while the fish is steaming so there is enough steam throughout the cooking process.
- Make sure the oil is hot: Heat the oil to 375-400°F (190-205°C) before pouring it over the green onions and aromatics. If you don't have a thermometer, dip the end of a dry wooden chopstick into the oil. Small bubbles forming around the chopstick indicate that the oil is hot.
- Pour the hot oil carefully: Slowly pour the hot oil over the green onions and aromatics on top of the steamed fish, then immediately add soy sauce. This releases their fragrance and gives the fish its aromatic, restaurant-style finish.
- Serve immediately: Cantonese steamed fish has the best texture and flavor when served hot, right after steaming and finishing with hot oil and soy sauce.





CK says
My favourite recipe for steamed fish. Thanks!
Susan says
This fish is simply delicious!! So tasty and easy to make