Chinese sweet and sour fish ready in 20 minutes. No deep-frying required. A must for Chinese New Year feast or other meals for special occasions. Follow my recipe to learn how to cook it to perfection.

Growing up in a small town near the Gobi desert in North-west China, fish was a rare treat on the dinner table. Yet, for Chinese New Year (aka Spring Festival), a well-prepared whole fish, such as today’s recipe Sweet & Sour Fish, was a must.
Belief about fish & good luck
In the Chinese language the character “余” (abundant) has the same pronunciation as the word 鱼 (fish), therefore we say that eating fish brings good luck: 年年有余 (May you get more than you wish for every year). Although I didn’t care very much about this superstitious belief, fish is part of my childhood memories of New Year celebrations and my favourite way to enjoy it was with sweet and sour sauce.
It’s very simple to prepare
Unlike in my childhood, now we can enjoy sweet and sour fish anytime of the year. It doesn’t even have to be a weekend special because it’s very simple to prepare. 20 minutes is all you need to finish this good-looking, flavour-bursting dish (Note: Don’t forget to ask the fishmonger to gut and descale the fish. This will save you lots of time and hassle). Only three steps needed:
- Coat the fish with cornstarch and chop the fresh ingredients
- Sear the fish skin in hot oil, then stir in the chopped ingredients
- Pour the sauce mixture in, then cook with lid on
What type of fish to use
For shooting this recipe, I used rainbow trout which has less small bones. Sea bass, sea bream and grass carp are great choices too. In China, whole fish (with the head on) is always used for this dish as Chinese appreciate the look and believe it tastes the best this way. I know that some people in the West are not used to eating whole fish with all the bones inside as they think it’s too fussy and messy. If you wish, please feel free to use boneless fish fillet. It will taste nice too.
No deep frying required
In the traditional version of this dish, fish is usually coated in batter and then deep fried. To be honest with you, this is not my preferred way to cook it. It’s time-consuming, greasy and somehow it undermines the natural taste of the ingredient, especially when too much batter is added.
My version of sweet and sour fish doesn’t involve deep-frying. Here is what you need to do:
- Use kitchen paper to dry the fish completely. Coat it with a thin layer of corn starch. Then cut at 45 degree angle several times on each side (this helps to season the fish evenly).
- In a hot wok, seal the skin of the fish with 2 tablespoons of cooking oil. It’s done when both sides become golden and firm.
Make a balanced sauce
Many may agree that to Western diners sweet and sour is one of the most famous flavour combinations in Chinese cuisine. But I find that this great flavour has been misinterpreted by many European Chinese restaurants (especially takeaways).
The problem is that the sauce doesn’t contain the right balance of flavours. Often they are just far too sweet. Also, the meat to sauce ratio isn’t always appropriate. No matter what the meat, whether pork, chicken or fish, an excessive quantity of sauce makes them taste identical.
The sweet and sour sauce used in my recipe is rich and balanced in flavour. You may substitute some of the condiments by ingredients more commonly available in Western kitchens: replace white rice vinegar with apple cider vinegar, use white wine in stead of Shaoxing rice wine. It won’t go wrong, I promise.
Sweet and sour fish in 20 mins (糖醋鱼)
Ingredients
For the fish
- 1 whole rainbow trout, , gutted and descaled - about 600g, see note 1 for other options
- 1 tablespoon cornstarch - or potato starch
- 2 tablespoon cooking oil
- 2 stalk scallions - chopped
- 2 slices ginger
- 4 cloves garlic, sliced
For the sauce
- 1 tablespoon Shaoxing rice wine - or white wine
- 1 tablespoon light soy sauce
- 3 tablespoon white rice vinegar - or cidre vinegar
- 1½ tablespoon sugar
- 3 tablespoon tomato ketchup
- 120 ml water - ½ cup
- ¼ teaspoon white pepper
- ½ teaspoon salt
You also need
- Coriander, chopped
Instructions
- Use kitchen paper to dry the fish completely. Coat the fish with a thin layer of corn starch (see note 2).
- Cut the fish at 45 degree angle several times on each side.
- Add oil to a hot wok (or a frying pan). Place fish in the wok, then turn the heat down to medium. Flip it over when the first side is golden and firm. It takes roughly 2 mins for each side (see note 3).
- While waiting for the fish to be fried, mix all the ingredients for the sauce.
- When the second side is done, push the fish over to one side of the wok. Put scallions, ginger and garlic into the oil. Stir fry for half a minute or so.
- Pour the sauce into the wok. Bring it to a boil then cover with a lid. Turn the heat to low. Leave to simmer for about 5 minutes each side. The sauce should be in a thick consistency at the end.
- Scatter coriander shortly before dishing the fish out. Serve warm with plain rice.
NOTES
NUTRITION DISCLOSURE: Nutritional information on this website is provided as a courtesy to readers. It should be considered estimates. Please use your own brand nutritional values or your preferred nutrition calculator to double check against our estimates.
Hi Wei
1) Do I have to marinate the fish before frying.
2) will 2 tablespoons of oil be sufficient to fry the fish?
Thanks
You don’t need to marinate the fish. 2 tablespoons of oil is enough to fry the surface of the fish (it’s not deep-frying). Happy cooking!
Thank you so much for your reply.
Hello Wei,
Really delicious. My wife enjoyed your sweet and sour recipe tremendously. So did I.
Thank you
That’s great to hear!
Hi Wei.. would halibut work well with this recipe?
Yes Kaycee. Halibut works for this recipe too. Happy cooking!
Hello Wei, I made your sweet/sour fish today and it was absolutely delicious! I had to use frozen fish which was all I had on hand (Cape Whiting a firm white fish) but thawed and well drained, it gave me exactly what I was looking for in flavour and texture. Thank you for sharing 🙂
My pleasure Lesley! Very happy to hear you’ve enjoyed it!
Wonderful!!! Best
Thank you!
I made this with sea bass, it was super easy and tasty. but It turned out a little too sweet, could be bcoz the tomato ketchup used was sweeter than usual. Next time will cut the sugar and may be add more of ginger.
My husband was not interested when I told him I’m gonna make this for dinner. And end of it he literally licked the left over sauce from the plate?
Great news Ambika! Yes, sometimes it takes a few times to get the flavour perfect for your own taste. Very happy to know that your cooking has impressed your loved one.