Steamed whole fish is a classic dish in Cantonese Chinese cuisine, often served during festivals, family gatherings, and special occasions. Steaming preserves the fish’s natural sweetness while keeping the flesh tender and moist, making it one of the healthiest ways to cook fish.
This recipe is especially suitable for fresh whole fish, where gentle steaming allows aromatics like ginger and spring onion to infuse flavor without overpowering the fish.

Steamed Whole Fish
Ingredients
- 1 kg whole fish
For Fish Marination
- 2 tbsp white vinegar or lemon juice
- 1-½ tbsp soy sauce
- 2 tsp salt
- 1 tsp celery seeds
- 1 tbsp red chili flakes
- 1 tsp freshly ground black pepper
While Steaming the Fish
- 2 scallions
- 5-6 cloves garlic
- 1 inch ginger piece
- 2-3 slices capsicum
- 2-4 fresh green chilies
- butter as desired
Instructions
Preparing the Fish
- Ensure that your fish is scaled and gutted completely. Cut off the fins with kitchen shears. If you do not remove the fins before steaming, you can remove them easily after steaming. Rinse the whole fish clean.

- Apply deep cuts on both sides of the cleaned whole fish with the kitchen knife. Keep ½ inch distance between the cuts.

Fish Marination
- Take a mixing bowl and marinate the fish by combining white vinegar or lemon juice, salt, celery seeds, red chili flakes, and freshly ground black pepper. Mix all the ingredients well.

- Rub the mixture on both sides of the fish as well as inside the cuts. Rub the mixture also inside the fish cavity. Set it aside for 5 to 6 hours for marination.

Steaming Setup
- Take a large cooking pot or large wok with a lid. Place a steaming rack or any metal stand inside the pot. It should be tall enough so that the boiling water does not reach the fish.

How to Steam Whole Fish
- To steam the whole fish, I used a large enough strainer plate to place the fish on it. Lay the green onion or scallions (sliced vertically) on the plate. Now place some sliced pieces of capsicum, 3 to 4 cloves of garlic, and one-inch piece of ginger (sliced into 3 to 4 pieces).

- Now place fish on them. Stuff the cavity of fish with two fresh green chilies, a few pieces of ginger, and garlic. Next, pour one liter of water into the pot. keep the flame medium to high.

- Now place the fish on the steaming rack. Put some butter on the fish. You can pour desi ghee as a substitute but butter gives a nice taste to the steamed fish.

- When the water comes to a boil, cover the pot with its lid. Put some weight over the lid to hold maximum steam inside. It will take 25 to 30 minutes to steam the fish.

Serving the Steamed Whole Fish
- Almost after 30 minutes, remove the weight from the lid. You will see the steamed fish is ready to serve. You may check the doneness with the butter knife. Shift the steamed fish to the serving dish. Serve it hot with orange-veggies sauce.

Notes
If you haven’t any large pot readily available with you, you may cut the fish into large pieces to accommodate the fish easily inside the available cooking pot.
Traditional Chinese-Style Steamed Whole Fish
In traditional Chinese cooking, whole fish is steamed with ginger and scallions and served hot to highlight freshness. The fish is kept intact to retain moisture and texture, resulting in soft, delicate flesh.
In this version, garlic is added along with ginger and spring onion to deepen the aroma, while a small amount of butter enhances richness without masking the fish’s natural flavor.
Aromatics & Flavor Profile
Steaming the fish together with spring onions, ginger, garlic, and capsicum creates a fragrant base that gently perfumes the fish as it cooks. These aromatics release their flavor through steam, giving the dish a clean and balanced taste.
A light pre-marination helps reduce any raw fish odor and allows the seasoning to penetrate the flesh more evenly.
Preparing the Fish Properly
For best results, use a fully cleaned and scaled whole fish. Trim the fins if needed and ensure the cavity is clean. Rinse the fish thoroughly and pat it dry.
Make deep cuts on both sides of the fish, spaced evenly. These cuts help the seasoning absorb properly and ensure even cooking during steaming.
Marinating the Fish (Why It Matters)
Marination plays an important role in:
- Reducing raw fish odor
- Enhancing flavor absorption
- Improving overall taste
Apply the seasoning evenly on both sides of the fish, inside the cuts, and inside the cavity. Allow the fish to rest so the flavors develop before steaming.
Steaming the Fish – Key Principles
The fish should be elevated above boiling water so it cooks only in steam, not liquid. Aromatics are placed beneath and inside the fish to infuse flavor during cooking.
Cover the pot tightly once steaming begins to trap heat and moisture. A small amount of butter added during steaming enhances aroma and keeps the fish moist.
A properly steamed fish should be tender, moist, and flaky, not dry.
How Long to Steam a Whole Fish
Steaming time depends on the size and thickness of the fish.
To check doneness:
- Insert a butter knife into the thickest part of the fish
- If it slides through easily, the fish is fully cooked
For a 1 kg whole fish, 25–30 minutes of steaming is usually sufficient. Avoid oversteaming, as it can affect texture and flavor.
Serving the Steamed Whole Fish
Transfer the steamed fish carefully to a serving dish and serve immediately while hot. This dish pairs well with a light sauce and simple sides that do not overpower the fish.
While steaming keeps the dish light and delicate, those who enjoy crispy textures may also like this fried fish recipe for a more indulgent option.
Important Tips for Best Results
- Trim fins before or after steaming for easier handling
- Ensure enough space between the water and fish while steaming
- Avoid oversteaming to keep the flesh tender
- Serve immediately for the best texture and flavor










