Sweet and sour fish in 20 mins (糖醋鱼)

Chinese sweet and sour fish ready in 20 minutes. No deep-frying needed. Visually appealing and balanced in flavour. Ideal for the busy diner. Also a great choice for special occasions. A must for Chinese New Year.

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 the Chinese New Year (the Spring Festival), a whole fish was a must. 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. 

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.

Fish in a sweet and sour dish is commonly 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 dosen’t involve deep-frying. You only need to use 2 tablespoons of oil to seal the skin. The sauce is rich, appetising in colour and beautifully balanced in flavour.  Most importantly, 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.

My culinary fans in the Red House are not used to eating whole fish with all the bones inside. They think it’s too fussy and messy. But they do love the stunning presentation (you can be sure you are eating a FISH) which would be a great choice to impress your guests for an important dinner party. Actually Chinese cooks believe that the inedible parts of the fish contribute to the general flavour.

As you can see, I use rainbow trout which has less small bones and thus is more child-friendly. Sea bass is a great choice too for this dish (my personal preference). Try it if you are a patient eater and good at dealing with bones.

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 as shown in the pictures above:

  1. Coat the fish with corn starch and chop the fresh ingredients
  2. Seal the fish skin in hot oil, then stir in the chopped ingredients
  3. Pour the sauce mixture in, then cook with lid on

Done! No complications, no special methods and quite difficult to fail. Give it a try, I’m sure you’ll love it.

Sweet and sour fish in 20 mins (糖醋鱼)
Rate this recipe
48 ratings

Prep Time: 5 minutes

Cook Time: 15 minutes

Total Time: 20 minutes

Serving Size: 2-3 Persons

Sweet and sour fish in 20 mins (糖醋鱼)

Chinese sweet and sour fish ready in 20 minutes. No deep-frying needed. Visually appealing and balanced in flavour. Ideal for the busy diner. Also a great choice for special occasions. A must for Chinese New Year.


    For the fish
  • 1 whole rainbow trout (about 600g, gutted and descaled, see note 1)
  • 1 tablespoon corn starch (or potato starch)
  • 2 tablespoons vegetable oil
  • 2 spring onions (chopped)
  • 2 slices ginger
  • 4 garlic cloves (sliced)
    For the sauce
  • 1 tablespoon Shaoxing rice wine (or white wine)
  • 1 tablespoon light soy sauce
  • 3 tablespoons white rice vinegar (or cidre vinegar)
  • 1.5 tablespoons granulated sugar
  • 3 tablespoons tomato ketchup
  • 1/2 cup water
  • 1/4 teaspoon white pepper
  • 1/2 teaspoon salt
  • small bunch of coriander (chopped)


  1. Use kitchen paper to dry the fish completely. Coat the fish with a thin layer of corn starch (see note 2).
  2. Cut the fish at 45 degree angle several times on each side.
  3. Pour vegetable oil in 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).
  4. While waiting for the fish to be fried, mix all the condiments (except for coriander) and stir well.
  5. When the second side is done, push the fish over to one side of the wok. Put spring onion, ginger and garlic into the oil. Stir fry for half a minute or so.
  6. Pour the mixture into the wok. Bring it to a boil then put the lid on. Cook on low heat for about 5 minutes each side. The sauce should be in a thick consistency by now.
  7. Scatter coriander shortly before dishing the fish out.
  8. Serve it hot (see note 4). Bon appetit!


1. Other whole fish, sea bass for example, is equally delicious for this recipe. You can descale the fish yourself (see how) or simply ask the fishmonger to do so. Cut off the fins with scissors if you prefer.

2. A layer of corn starch will make the fish even drier. This reduces splashing while frying and helps the fish stay in shape. You may skip this procedure if it is unavailable.

3. Remember to handle the fish only when it's necessary, especially if you are not using a non-stick cookware. This will prevent the flesh from falling apart.

4. It's typically served with steamed rice along with other savoury dishes. It also goes well with Western staple food like potato or plain pasta.


Hope you enjoy making it. Have a yummy day!

An enthusiastic cook with a Chinese palate and a global mindset.

You might also like:

Steamed garlic prawns with vermicelli (蒜蓉粉丝蒸虾)

Black pepper beef stir-fry (黑椒牛柳)





Chinese sweet and sour fish ready in 20 minutes. No deep-frying needed. Visually appealing and balanced in flavour. Ideal for the busy diner. Also a great choice for special occasions. A must for Chinese New Year.

2 thoughts

  1. 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😀

I'd like to hear from you

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