Sweet and Sour Fish (糖醋鱼)
This Chinese sweet and sour fish recipe uses fish fillets to create a stunning presentation while keeping the cooking process as easy as possible. The fish is shallow-fried until super crispy and then drizzled with a rich and aromatic sauce that is loaded with colorful peppers. It’s a perfect dish to serve at your dinner party, for Chinese New Year, or for other Chinese festivals. {Gluten-Free Adaptable} To make this dish gluten-free, use tamari or coconut aminos to replace soy sauce. Use dry sherry instead of Shaoxing wine.

- Prep time
- 20 min
- Cook time
- 15 min
- Yield
- 4 servings
- Difficulty
- HARD
Ingredients
- 4 fillets (1.5 to 2 lbs / 700 to 900 g) white fish ( , skin-on preferred (catfish, bass, perch, trout, and snapper are suitable))
- 1/2 cup cornstarch
- 1 tsp salt
- 1/2 tsp white pepper
- 1 inch ginger (, sliced into thin strips)
- 4 clove garlic (, sliced)
- 2 tbsp shaoxing wine ((or dry sherry))
- 2 tbsp soy sauce
- 1/2 cup rice vinegar
- 1/3 cup sugar
- 1/4 cup chili garlic sauce
- 1/4 cup water
- 1+1/2 tbsp cornstarch
- Vegetable oil (for shallow frying)
- 1 bell pepper (, sliced)
- 1/4 yellow onion (, sliced)
- Toasted sesame seeds for garnish ((Optional))
Instructions
- 1
Mix the fish coating ingredients in a tray or plate that is large enough to hold one fish fillet.
- 2
Mix the sauce ingredients in a big bowl. Stir to mix well.
- 3
Score the fish by slicing a 1” (2.5 cm) crosshatch pattern across the flesh. If using skin-on fish, cut to the skin but not through it. If using skinless fish, cut through about 2/3 of the fillets so the fillets won’t fall apart.
- 4
Prepare a roasting rack over a big tray, for the cooked fish fillets.
- 5
In a deep-sided pan that’s large enough to hold one fish fillet, heat 1” (2.5 cm) of oil over medium-high heat until it reaches 375°F (190°C). If you’re using smaller fish fillets, you can use as little as 1/2” (1.2 cm) of oil, as long as it covers 2/3 of the fish.
- 6
Only coat as much fish as you can fry at a time. Place the fish skin-side-down in the tray with the cornstarch mixture. Use a spoon to add more mixture on top. Carefully lift the fillet using your hand to shake off the extra cornstarch and make sure there’s cornstarch between the diamond cuts.
- 7
As soon as the fish is coated, glenty lay it, flesh-side-down, into the heated oil. Cook without touching until the bottom turns golden, 3 minutes for smaller fish, and 4 minutes or so for larger fish. Flip and cook the other side, for another 2 to 3 minutes.
- 8
Once done, transfer the fillet to the tray lined with the rack to drain the extra oil.
- 9
In a medium-sized frying pan, heat 1 teaspoon of oil over medium heat until hot. Add the ginger and garlic. Stir to release the fragrance, 30 seconds or so.
- 10
Add the onion. Stir a few times.
- 11
Stir the sauce mixture again to thoroughly dissolve the cornstarch and pour it into the pan. Stir and cook to bring the sauce to a boil.
- 12
As soon as the sauce starts to thicken, add the bell peppers. Stir a few times until the sauce thickens. Immediately transfer the sauce into a bowl.
- 13
Plate the fish on a large tray or on individual serving plates. Add the sauce along with the pepper and onion onto each fillet. Garnish with toasted sesame seeds, if using. Serve immediately.