
In China a fish course is a must at celebration meals, because the word for fish sounds like the word for surplus and stands for abundance at the New Year table. The traditional showpiece is a whole river fish, filleted and folded so the skin curls back, scored, fried into a blossom shape, then drizzled with sauce, which looks stunning but is hard to manage in a home kitchen. My fillet version keeps that festive spirit, and if you want the classic route I also have an authentic Chinese steamed fish I highly recommend.
When I cooked in China, the New Year fish was almost always a whole live fish from the wet market. After moving to Austin and then New York, I found it hard to get live fish suited to Chinese cooking, so I started developing fish recipes that hold the spirit of that whole fish course without the sourcing trouble. This one has been my go-to holiday centerpiece ever since.
I make this in two parts. First I score, coat, and shallow fry the fillets until the crust is nice golden and crisp, which uses far less oil than deep frying, then I simmer a quick ginger and garlic sauce with onion and bell pepper and spoon it over the fish. I love that it takes me only 40 minutes in total, so I can easily have a centerpiece that looks absolutely stunning for my family and friends.

Ingredients
I know it looks like a long list, but it breaks down into a few small bowls you can prep before the oil heats up, and almost everything lives in a basic Chinese pantry. Here is what I use:

Fish: White fish with slightly fatty and firm flesh is the best option.
- My personal favorite is catfish. It’s affordable, very fatty, and holds together well during cooking. Seabass, perch, trout, and snapper are great options as well. Avoid delicate fish such as cod, which will fall apart easily once cooked.
- For size, smaller and thinner fillets work better, because they require less oil for cooking and will crisp up better. It’s best if the fillets are about 1/2” or 2/3” (1 to 1.5 cm) thick. The largest cut I used weighed 1/2 pounds per fillet, and the thick part was about 1” (2.5 cm). I wouldn’t recommend any cut that’s larger than this.
- A skin-on cut is preferred. You can score the fish deeper if you’re using a skin-on cut, so the result will be crispier. Not only does the skin hold the fish together so it won’t fall apart, but it also tastes heavenly once crisped up. But you can use skinless fillets to cook this dish as well.
- When possible, get the freshest fillets you can. I would choose a great-looking whole fish and ask the fishmonger to fillet it for me at the fish market.
The coating: I toss the fillets in cornstarch seasoned with salt and white pepper, which is what gives the fish its light, crackly crust. Cornstarch fries up crisper and lighter than flour does here.
Ginger, garlic, and vegetables: Ginger, garlic, and onion go into the sauce for fragrance, and sliced bell pepper adds color and a fresh crunch at the end. I finish with a scatter of toasted sesame seeds at the table when I have them.
The sweet and sour sauce: This is where the flavor sits. I balance rice vinegar and sugar for the sweet and sour base, Shaoxing wine and soy sauce for depth, and chili garlic sauce for a little heat and color. A spoonful of cornstarch stirred in loosens into the sauce and thickens everything into a glossy coat that clings to the fish.
How to Make
1. Mix the coating: In a tray large enough to hold one fillet, stir together the cornstarch, salt, and white pepper.

2. Mix the sauce: In a bowl, combine all the sauce ingredients and stir until the sugar and cornstarch dissolve.
3. Score the fish: Cut a crosshatch pattern across the flesh, about 2.5 cm apart. For skin-on fillets, slice down to the skin but not through it. For skinless fillets, cut through about two thirds of the way so they hold together.
4. Set up a rack: Set a wire rack over a large tray to hold the fried fish.
5. Heat the oil: In a deep pan large enough for one fillet, heat 2.5 cm of oil over medium-high heat until it reaches 375°F (190°C). For smaller fillets you can use less oil, as long as it covers two thirds of the fish.
6. Coat the fish: Working with one fillet at a time, press it into the cornstarch mixture skin-side down and spoon more over the top. Lift it and shake off the excess, making sure cornstarch settles into the scored cuts.

7. Fry the fish: As soon as it is coated, carefully lay it flesh-side down into the hot oil. Cook without moving it until the bottom is golden, about 3 minutes for smaller fillets and 4 for larger ones, then flip and cook the other side for 2 to 3 minutes.

8. Drain: Transfer the fried fish to the rack to drain off the extra oil.

9. Cook the aromatics: In a medium pan, heat a little oil over medium heat, then add the ginger and garlic and stir until fragrant, about 30 seconds.

10. Add the onion: Add the sliced onion and stir a few times.

11. Simmer the sauce: Stir the sauce again to loosen the cornstarch, pour it into the pan, and cook until it comes to a boil.

12. Add the peppers: Once the sauce starts to thicken, add the bell peppers, stir for a few seconds until glossy and thick, then transfer to a bowl right away.

13. Plate and serve: Arrange the fish on a platter or individual plates, spoon the sauce with the peppers and onion over each fillet, top with sesame seeds if using, and serve immediately.

My Cooking Tips
Keep the fillets small and thin: Thinner cuts crisp better and need less oil. Anything much thicker than 2.5 cm at the widest point is hard to cook through without overbrowning the crust.
Bring the oil up to temperature first: Coat the fish only once the oil is already at 375°F. If you dredge the fillets too early the cornstarch turns pasty and the crust will not crisp.
Shallow fry to save oil: Shallow frying uses far less oil than deep frying and works just as well for fillets. If you own a deep fryer, that route works too.
Do not over-reheat the sauce: If you make the sauce ahead, warm it briefly before serving. Boiling it again breaks down the cornstarch and the sauce turns watery.
Cook the vegetables lightly: Chinese sweet and sour sauces keep the peppers almost raw for crunch. I cook the onion a touch longer so its flavor softens, but I pull the peppers off the heat while they are still bright.
Serving Suggestions
I serve sweet and sour mandarin fish as the centerpiece and let it take the main spot the way a whole fish would at a holiday dinner. I place over plain steamed rice that catches the extra sauce, with a green dish like my Chinese broccoli with oyster sauce on the side to balance the richer fried fish.
When I’m hosting, I add a second protein and a soup so no two dishes repeat, usually a plate of braised chicken with mushrooms for the savory contrast and I can cook it ahead, and a pot of hot and sour soup because it’s always a crowd pleaser. Enjoy it!
Frequently Ask Questions
Why is my fried fish not crispy?
The two usual culprits are oil that is not hot enough and fish that sat in the cornstarch too long before frying. Heat the oil to 375°F, coat each fillet right before it goes into the pan, and fry only one or two pieces at a time so the oil temperature does not drop.
How do I keep the fillets from falling apart?
Skin-on fillets hold their shape best, so I score down to the skin but never through it. For skinless fish I cut only about half of the way in, and I leave the fillet untouched while the first side fries so the crust sets before I flip it
How long do I store this?
This dish is at its best the minute it is fried, so I plan to finish it the same day. Leftovers keep in the fridge for about a day, and I re-crisp the fish in a hot oven rather than the microwave, which leaves it soggy. I do not freeze it, because the crust turns soft and the cornstarch sauce separates once thawed.
Want to Save This Recipe?
Enter your email below & we’ll send it to your inbox. Plus get great new recipes from us every week!

Sweet and Sour Mandarin Fish
Ingredients
- 4 fillets (6 oz per fillet) white fish , skin-on preferred (catfish, bass, perch, trout, and snapper are suitable)
Fish coating
- 1/2 cup cornstarch
- 1 teaspoon salt
- 1/2 teaspoon white pepper
Sauce
- 1 inch ginger , sliced into thin strips
- 4 cloves garlic , sliced
- 2 tablespoons shaoxing wine (or dry sherry)
- 2 tablespoons soy sauce
- 1/2 cup rice vinegar
- 1/3 cup sugar
- 1/4 cup chili garlic sauce
- 1/4 cup water
- 1 1/2 tablespoons cornstarch
Cook
- Vegetable oil for shallow frying
- 1 bell pepper , sliced
- 1/4 yellow onion , sliced
- Toasted sesame seeds for garnish (Optional)
Instructions
Prep
- Mix the fish coating ingredients in a tray or plate that is large enough to hold one fish fillet.
- Mix the sauce ingredients in a big bowl. Stir to mix well.
- 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.
Cook the fish
- Prepare a roasting rack over a big tray, for the cooked fish fillets.
- 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.
- 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.
- 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.
- Once done, transfer the fillet to the tray lined with the rack to drain the extra oil.
Cook the sauce
- 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.
- Add the onion. Stir a few times.
- 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.
- 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.
Serve
- 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.
Nutrition
Did you make this recipe?
I’d love to hear how it turned out for you! Please take a moment to leave a 5-star rating ⭐️ and share your thoughts in the comments further down the page. It really helps others discover the recipe too.
Moke
Oh wow, Maggie, this was AMAZING! The S&S sauce was soooo good! I had with Asian slaw and it was just a fabulous meal – this has gone straight to the top of my current favourites recipes list!
Maggie Zhu
So happy to hear you tried out this one and enjoyed it! Thank you for leaving a positive review 🙂
SaraM
Used flounder, swapped 1/2 chili crisp & 1/2 sweet chili sauce for Garlic chili sauce.
Kids asked for more sauce!
Super fast DELICIOUS
Maggie Zhu
So happy to hear the recipe worked out for you! Thanks for leaving a positive review 🙂
Mike
Maggie, this looks amazing but is still a lot of work and even one fillet is too much for two people – would you consider doing a version with cubed fish pieces (I.e a cut up fillet)? I guess more like S&S chicken or pork?
Maggie Zhu
I think you can use this recipe but using cubed fish instead. What you can do is to slide the servings into 1 serving. Then you can cut up the fish use the same coating. Then pan fry the fish until the outside is crispy, then make the sauce and toss them together.
Zhen McKenzie
This recipe is simple to follow and works beautifully. Even my 89 years old mum who came from Shanghai is impressed. Love the flavor.
David
Air fry? What do you think? How would you go about it?
Sj
Love this recipe!! Thank you for sharing. Everyone loved it.
Julia
Fellow Austinite here! I have made this dish before and BF and I LOVED it…but the sauce was *incredibly* spicy. I don’t know much about cooking. Is there a way to reduce the amount of chili garlic sauce while still maintaining the same sauce consistency?
Maggie Zhu
I think you can directly reduce the chili garlic sauce without affect the sauce consistency as long as you don’t reduce it too much.
Jessica
Hi Maggie, new subscriber here!!! your website is amazing!! i’ve bookmarked like 12 recipes I wanna make lol. With the sweet and sour fish, you recommend cat fish, however my husband doesn’t like catfish. Is there another fish I could use to replace it? Thanks so much for your blog! I can’t wait to start cooking these amazing dishes!
Jessica
Maggie
Hi Jessica, you can use many white fish for this recipe, such as sea bass, grouper and halibut. The only white fish I would avoid is cod, because it’s very tender and it might fall apart if using this cooking method.
Ann
Omg. Another amazing recipe. I have always wanted to learn to make this but it just seemed complicated. You made it so easy. I cooked it for lunch today and it was delicious. Couldn’t stop eating it. Thank you for sharing and love the additional notes / tips.
Dave Wilson
Made this dish once for Mary and I,(2 servings) then again for guests (4 servings). Followed the recipe closely but tripled the sauce the second time because it is soooo good. This is a spectacular dish to bring to the table, but very easy to make. Everyone loved it. Cut my swai filets in half for easy handling, and fried in a big saucer pan. I made the sauce ahead of time in a sauce pan. Works fine.
Dave
Made this tonight with only a few variations. Instead of scoring the large tilapia filet, I cut it into bite size chunks. That made it extra crispy.
To the sauce I gadded some lemon juice because I had half a lemon getting ready to spoil in the fridge. Same for about 6 stalks of asparagus. Otherwise, as written. Oh yes, I halted the recipe as it is just Mary and I eating. I cooked this in a small wok, using less than half a cup of oil.
The outcome was both beautiful and extremely tasty. I rate it the best Chinese dish I have made in the past 10 years. Will definitely make it again. And again.
NJ
Hi! Is This recipe doable with frozen fish fillet?
Thx
NJ
SaraM
I did – delicious!
John Hartline
Loved the dish Maggie! My sweet wife was shouting “You’re killing me” the entire time I was preparing it. When it came time to enjoy, she moaned the entire time. I took that as her unconditional approval. The secret truly is the preparation of the fish. Thanks for a great recipe.
Kathleen | Hapa Nom Nom
I’m so jealous of your hubby right now! Everything you make sounds just so wonderful and I always love all of your tips and photos!
Thomas
I can’t lie; it is pretty amazing to eat stuff like this on a daily basis. I am pretty sure I have gained weight in the past month despite running 30+ miles per week training for a half marathon 🙂
Bam’s Kitchen
Cat fish is really the perfect mild white fish for this recipe. Love those sharing photos of you and Thomas eating dinner…You are right this recipe has a little extra work involved with the frying so sharing with friends is a good idea. My boys would like seafood more if I made them dishes like this.
Kelly
This looks perfect, Maggie! Chopsticks are my BFF when it comes to deep frying too 🙂 We love sweet and sour fish and yours is so crispy and delicious!
GiGi Eats
Never had fish in this fashion before… BUT I DO LOVE ME SOME SEAFOOD 😀
Lisa @ Healthy Nibbles & Bits
Yup, chopsticks are SO crucial when it comes to deep frying in the wok! Looks like such a great dish, Maggie! This is such a random question, but did you bring your wok and other cookery with you when you moved to Texas??
Maggie
I brought a flat bottom nonstick wok and a nonstick skillet (quite easy to purchase in the US actually) to Austin, because they are the wedding gifts from my mom. I didn’t bring the cast iron wok because my luggage didn’t allow me (we don’t have gas stove anyway). I didn’t ship anything and just brought two large luggages with me when I come here. So I wasn’t able to bring most of my cookery. I found my 26″ flat skillet can cook almost everything I need instead of a wok. We only have electric stove at home. I found the flat bottom wok is not able to generate enough heat for stir-fry. So I only use it for deep-fry and stew.
How’s your moving going? Have you settled down yet? Take care my friend!
Helen @ Scrummy Lane
Oooh Maggie! This is definitely the sort of dish I would jump to order in a restaurant. It does have a few steps, but actually it doesn’t seem too difficult to make at home. Such beautiful photos, as well! (I adore your style!)
Thalia @ butter and brioche
The fish really does look amazing. So crunchy, golden and crisp… love sweet and sour sauce too – I think it has to be one of my favourite Asian flavour combinations!