Cook up this classic restaurant-styled Chinese sweet and sour fish dish. Plus this amazing recipe for an authentic Cantonese-inspired sweet and sour sauce!

Have you always wanted to know how to cook a dish of sweet and sour fish as good as your favourite Chinese restaurant version?

Well, I can totally identify with that because it’s what I’ve been aspiring to since I started cooking more and more at home.

Sweet and sour fish happens to be my hubby’s favourite, so naturally, I often cook this dish. And it helped a lot that hubby has such a discerning taste for sweet and sour anything!

He knew exactly what was lacking or that could be improved.

Sometimes, the fish I used wasn’t quite right and didn’t go well with the sauce.

And my greatest peeve of all, especially when frying slices, was that the fish was not crispy enough or didn’t stay crisp for long.

Finally, there was the matter of getting the sauce perfect! Truth be told, it took quite a bit of trial and error on my part to perfect it.

Well, because I think the all-important sweet and sour sauce can totally make or break the dish, don’t you agree? But more on that in a bit.

What fish to use?

First of all, let’s talk about which fishes are more suited for a dish like sweet and sour fish.

You might already have your favourites. If these fishes have little to mild flavours and have firm flesh, then these should work quite well.

By far, my favourite choice is the the red snapper. Other popular choices include sea bass, grouper, catfish or dory, perch and trout.

Fishes with very delicate or flaky flesh aren’t as suitable. That’s because the flesh can come apart easily during frying.

The basics of a sweet and sour sauce

Preparing homemade sweet and sour sauce is very easy. The simplest sweet and sour sauce uses as few as 3 ingredients.

A decent one just needs tomato sauce or ketchup, vinegar and sugar.

To be honest, I started out with many 3-ingredient sweet and sour sauce recipes.

But then I wanted to replicate restaurant-style sweet and sour dishes. I love the complex, sophisticated flavours of that wonderfully ambrosial sweet and sour sauce!

These often involve several ingredients, as many as 5 to 6, each adding nuances and layers, creating a robust flavour disposition.

best homemade sweet and sour sauce for sweet and sour fish

When it comes to sweet and sour dishes, I think most of us have indelible impressions of the Cantonese version.

The Cantonese Chinese are well known for their refined culinary heritage. And Cantonese cuisine is famed for its elegance and sophistication.

What makes a good sweet and sour sauce

This sweet and sour sauce is indeliby sweet, piquant, and punctuated with vinegarish nuances.

It is one of my favourite versions, and is a treasured, tested Cantonese recipe.

It has the perfect consistency. Thick and sticky, and much like a sweet caramelised glaze, this sauce deliciously clings to, and coats all the ingredients in the dish.

I’ve had many wonderful compliments and positive feedback on how delicious and authentic it tastes, so this sauce recipe is definitely a keeper!

Ingredients for perfect sweet and sour sauce

  • Tomato sauce
  • Chilli sauce
  • Plum sauce
  • Brown sugar
  • Lemon Juice
  • Salt

Sweet and sour fish: Step-by-step

Cook the sauce

Just put all the ingredients into a small saucepan and heat over medium heat. Once it comes a gentle boil, turn off the heat and set aside.

Fry the fish twice for crispier slices

Coat with potato starch and plain flour mixture. Dust excess off.

Tip: For even crispier fish slices, slice the fish thinly, not thicker than 5-mm. Using potato starch will give you a crispier coating than corn starch.

Heat a wok filled with 1/3 cup of cooking oil over high heat. When very hot, fry the fish slices in 2 batches. Fry until the fish just starts to brown lightly. Remove with a sieve into a wire basket or rack.

Wait for 10 to 15 seconds, and allow the oil to get hot again. Re-fry until the fish slices turn golden brown. Frying twice will help draw out excess oil and make the slices more crispy. Repeat with the second batch.

Bringing it all together

  • Step 1: Heat some oil in wok over high heat. When hot, stir fry the shallots and diced peppers until fragrant, and peppers start to soften.
  • Step 2: Add the tomatoes, and stir fry until the tomatoes begin to soften.
  • Step 3: Put in diced pineapples (or lychee halves) and any juices, and stir fry for a few seconds.
  • Step 4: Pour in the cooked sauce, stir fry with the vegetables and allow it to come to a boil.
  • Step 5: Return the fried fish slices and toss a couple of times until all the fish slices are evenly coated in sauce. Turn off the heat and dish out immediately.
  • Step 6: The sweet and sour fish is now ready to serve!
Sweet and Sour Fish

Can I use a whole fish?

This works just as well with a whole fish. In the same way, coat the whole fish with starch on both sides and fry in very hot oil.

Fry on one side until lightly browned, before turning over to fry the other side. Only turn over once!

Just as with frying the fish slices twice, fry till 80% cooked. Remove and wait 10 to 15 seconds and let the oil get hot again.

Fry again on both sides, this time until golden brown. This will help draw out excess oil from the fish, making it more crispy.

When completely cooked till golden brown and crispy, remove the fish and drain of excess oil. Place onto a serving plate.

In a cleaned wok, heat up some oil. Proceed with frying the vegetables and adding the sweet and sour sauce. Add a bit of water if too thick.

Once the sauce is bubbling hot, scoop out with the vegetables directly onto the whole fried fish and serve immediately.

More seafood recipes to inspire your next meal

Tried this recipe? I’d love to see! Remember to share your pics on Instagram and tag @foodelicacy or #foodelicacy.

Save this recipe!

Sweet and Sour Fish & The Best Sweet and Sour Sauce Recipe!

4.7 from 23 reviews
Prep Time: 20 minutes
Cook Time: 25 minutes
Total Time: 1 hour 30 minutes
Yield: 3 persons
Cook up this classic restaurant-styled Chinese sweet and sour fish dish. Make this amazing recipe for an authentic Cantonese-inspired sweet and sour sauce!


  • 300 g Red Snapper fillet, cleaned
  • 3 – 4 tbsp corn starch or potato starch, or more as needed
  • Enough vegetable oil
  • 4 small red shallots
  • ½ green pepper
  • ½ red pepper,
  • ½ yellow pepper
  • 1 tomato
  • 50 g canned diced pineapple or lychee halves

For the Sweet-Sour Sauce:

  • 5 tbsp tomato sauce (Ketchup)
  • 3 tbsp plum sauce
  • 3 tbsp sweet chilli sauce
  • 1 – 2 tbsp lemon juice
  • 2 tbsp brown sugar
  • ½ tsp salt


  • Mix all sauce ingredients in a saucepan, and bring to a gentle boil. Turn off heat, set aside.
  • Clean and pat dry fish fillet paper towels. Slice into 5-mm thick slices. Coat fish slices thoroughly in corn or potato starch, shake off the excess and discard. Set aside.
  • Peel and dice onion. Seed and dice peppers, tomato and pineapple.
  • Fill a wok with 1/3 cup of oil and heat up over high heat till hot. Fry the fish in two batches, constantly stirring and separating fish slices in hot oil. Deep fry till fish slices turn light brown and just begin to crisp at the edges. Sieve out into a wire basket or rack.
  • Wait for 10 to 15 seconds, and allow the oil to get very hot again. Put back the fried slices, and this time fry until golden brown. Repeat the process with the second batch.
  • Pour out oil, leaving 2 tbsp in the wok and heat up over medium fire. When hot, add diced onion and peppers, fry for about a minute. Add tomato slices and stir fry for another 15 to 20 seconds. Add the diced pineapple (or lychee halves) and stir fry for a few more seconds to mix well.
  • Add the sauce. If the sauce is too thick, add 2 to 3 tbsp water. The sauce should still be slightly thick and sticky, not watery. Stir quickly to mix well. Bring the sauce to a boil.
  • Put in fried fish slices all at once, quickly toss a couple of times to coat fish evenly with sauce. Turn off heat, dish out onto serving plate. Serve immediately.

Nutrition Information:

Serving: 1serving, Calories: 361kcal, Carbohydrates: 62g, Protein: 23g, Fat: 2g, Saturated Fat: 1g, Polyunsaturated Fat: 1g, Monounsaturated Fat: 1g, Cholesterol: 37mg, Sodium: 1369mg, Potassium: 919mg, Fiber: 3g, Sugar: 29g, Vitamin A: 1322IU, Vitamin C: 103mg, Calcium: 69mg, Iron: 2mg
Cuisine: Asian, Cantonese, Chinese
Course: Dinner, Lunch, Main Course, Main Dish, Sauces & Jams, Seafood
Author: Celia Lim
Did you make this recipe? Be sure to leave a rating and a review in the section below, and tag @foodelicacy on Instagram and hashtag it #foodelicacy so I can see!