Asian Fish Balls with Homemade Sweet and Sour Sauce
I love simple seafood recipes that feel elevated but are straightforward to pull together on a weeknight. These Asian fish balls are exactly that: flavorful, tender inside, with a crisp, golden exterior and a bright homemade sweet and sour sauce that cuts through the richness. They make a great appetizer, a protein for rice or noodles, or a shareable snack for friends.
The technique is forgiving — you pulse together steamed, flaked fish with a few pantry staples, shape into small balls, and either fry or bake. The sauce cooks in a single pan and comes together in minutes; adjust the heat or vinegar to your taste. Throughout the post I’ll walk through practical tips, swaps for texture-sensitive eaters, equipment that matters, and how to store and reheat these so they stay as good as possible.
Below you’ll find the recipe broken into clear sections: essentials and equipment, a step-by-step cooking guide, troubleshooting, and serving ideas. Read the essentials and the ingredients once before starting. Put your mise en place in place — once the fish mixture is combined, it moves fast.
The Essentials

– RECIPE NAME: Asian Fish Balls
– Servings: Makes roughly 12–16 bite-sized fish balls depending on size.
– Prep time: 20 minutes (including steaming and flaking the fish).
– Cook time: 12–20 minutes (frying) or about 15 minutes (baking) plus sauce time.
– Key technique: Keep the fish cold while mixing and don’t overwork the mixture — you want it cohesive, not gummy.
– Flavor anchors: fresh ginger and garlic in both the balls and sauce; orange and pineapple juice in the sauce for brightness.
– Finish: spring onion and toasted sesame seeds for contrast and crunch.
Ingredients
- 10 oz fish fillet — cod, seabass, salmon, etc., steamed and flaked; the primary protein and base flavor.
- 1 tablespoon breadcrumbs — helps bind and give structure without weighing the mix down.
- 2 tablespoon parsley, chopped — fresh herb for bright, clean flavor.
- 2 cups ciabatta bread off the crust, cubed — soaked and squeezed; adds moisture and tender crumb inside the balls.
- milk — for soaking the bread to create a soft binder; quantity as needed to cover the bread cubes briefly.
- 1 egg, beaten — binds the mixture so the balls hold their shape when cooking.
- ½ clove garlic, finely minced — savory base note (use a full clove if you prefer stronger garlic).
- all purpose flour — for coating the shaped balls before frying or baking; helps form a light crust.
- ⅓ teaspoon orange zest, optional — adds a fragrant citrus lift if using.
- ⅓ teaspoon grated ginger, optional — extra warmth and aroma if you like ginger more pronounced.
- 1 tablespoon spring onion, chopped, to serve — fresh garnish for color and mild oniony bite.
- 1 tablespoon sesame seeds, toasted, to serve — nutty crunch and visual finish.
- vegetable oil — for shallow frying; neutral oil with a high smoke point.
- 1 cup sugar — sweet backbone of the sweet & sour sauce.
- juice of 1 orange — sweet-citrus base for the sauce; balances vinegar.
- 1 teaspoon fresh grated ginger — adds fresh heat and aroma to the sauce.
- ½ cup pineapple juice — sweet-tart body for the sauce and keeps it saucy without being too sharp.
- 1 teaspoon minced garlic — savory partner to ginger in the sauce.
- 2 tablespoon soy sauce — salt and umami to round the sauce.
- ¼ cup white vinegar — the sour element in the sauce; controls the tang.
- a splash of sriracha — optional heat and a touch of chili flavor; adjust to taste.
- ¼ cup warm water — to dissolve the cornstarch and loosen the sauce if needed.
- ¼ cup cornstarch — thickens the sauce; dissolved in warm water before adding.
Asian Fish Balls with Homemade Sweet and Sour Sauce Cooking Guide
Sauce first — so it’s ready when the fish balls are cooked
1. Combine the sauce ingredients (except warm water and cornstarch) in a small saucepan: 1 cup sugar, juice of 1 orange, 1 teaspoon fresh grated ginger, ½ cup pineapple juice, 1 teaspoon minced garlic, 2 tablespoons soy sauce, ¼ cup white vinegar, and a splash of sriracha. Stir to combine.
2. Bring the mixture to a boil over medium heat. Watch it so it doesn’t foam over. Once boiling, lower the heat to maintain a gentle simmer.
3. In a small cup, stir ¼ cup cornstarch into ¼ cup warm water until completely dissolved and smooth.
4. Slowly pour the cornstarch slurry into the simmering sauce while whisking. Continue simmering for about 5 minutes, stirring occasionally, until the sauce thickens to a glossy consistency. If you prefer a thinner sauce, add a tablespoon or two of pineapple juice to loosen it.
5. Taste and adjust: more vinegar if you want sharper tang, more sriracha for heat, or a pinch more sugar for sweetness. Set the sauce aside to keep warm or at room temperature while you make the fish balls.
Fish balls — assembly and cooking
6. Soak the bread: place the 2 cups cubed ciabatta in a small bowl and cover with just enough milk to soak. Let sit for 5 minutes until the bread collapses and is very soft.
7. Squeeze the soaked bread firmly to remove excess milk, then transfer the squeezed bread to a large mixing bowl. This gives you a soft binder without adding too much liquid.
8. Add the rest of the fish ball ingredients to the bowl: the steamed, flaked 10 oz fish fillet; 1 tablespoon breadcrumbs; 2 tablespoons chopped parsley; 1 beaten egg; ½ clove garlic, finely minced; a pinch of flour; and the optional ⅓ teaspoon orange zest and ⅓ teaspoon grated ginger if using. Season with a little salt and pepper to taste.
9. Mix the ingredients gently but thoroughly until everything is evenly combined. Use your hands or a flexible spatula — you want a cohesive mixture that will hold form, not a dense paste. Stop mixing as soon as it comes together.
10. Shape the mixture into small balls, about 1 inch (or your preferred bite-size). Try to keep them uniform for even cooking.
11. Lightly coat each ball in all-purpose flour by rolling them on a plate with flour or dusting them with flour in a bowl. Shake off any excess flour. This helps create a light crust when cooking.
12. To fry (recommended for best texture): pour enough vegetable oil into a frying pan to reach about 1 inch depth and heat over medium-high. When the oil is hot (test with one small ball — it should sizzle immediately), add the fish balls in a single layer without crowding. Fry, turning occasionally, until they are evenly golden brown and cooked through, about 6–8 minutes depending on size. Remove and drain on kitchen paper.
13. To bake (lighter option): arrange the fish balls on a tray, brush lightly with oil, and bake at 170°C / 350°F for about 15 minutes or until cooked through and lightly golden. Flip once halfway for even browning.
14. Transfer the hot fish balls to a bowl and immediately pour enough sweet & sour sauce over them to coat; toss gently so each ball is glazed. Alternatively, serve the sauce on the side for dipping.
15. Finish with 1 tablespoon chopped spring onion and 1 tablespoon toasted sesame seeds sprinkled over the glazed fish balls. Serve right away.
Why I Love This Recipe

– It’s fast to assemble and flexible on fish choice — white fish like cod keeps a neutral backdrop while salmon gives richer flavor.
– The sweet & sour sauce is bright, balanced, and comes together on the stovetop in minutes; you can tweak it toward sweeter or tangier without changing the overall method.
– These fish balls hold up well as finger food, part of a bowl, or tossed through noodles. The texture is tender and satisfying without being dense.
– The recipe scales easily: double the sauce and fish for a crowd, or make a smaller batch for two.
Texture-Safe Substitutions

– Mild fish swap: use any firm white fish (pollock, haddock) if someone prefers a non-oily profile.
– For firmer texture: increase breadcrumbs by a teaspoon or let the mixture chill 15 minutes before shaping; chilling firms up the mixture and reduces spreading.
– Gluten-free option: use gluten-free breadcrumbs and a gluten-free flour for coating; check soy sauce style for GF (tamari).
– Egg-free binder: if avoiding egg, add an extra tablespoon of breadcrumbs and a tablespoon of mashed tofu or a neutral oil binder, but note texture will be slightly different.
Equipment at a Glance
– Steamer or pot with a rack (for steaming fish) or you can poach fish gently in a shallow pan.
– Large mixing bowl for combining the fish mixture.
– Frying pan with at least 1-inch depth or a heavy skillet for frying; an oven tray and rack for baking.
– Small saucepan for the sauce.
– Measuring spoons and cups, a small cup for the cornstarch slurry, and kitchen paper for draining.
– Thermometer optional: oil around 350–370°F (175–185°C) works well for frying.
Pitfalls & How to Prevent Them
– Overworking the mixture: mix only until combined. Overworked fish becomes gluey.
– Too wet mixture: drain the soaked bread thoroughly and use only the beaten egg called for. If it still feels overly wet, add a teaspoon of breadcrumbs at a time.
– Sauce too thick or gummy: add a splash more pineapple juice or warm water to loosen it; avoid cooking the cornstarch too long at a rolling boil.
– Crowding the pan when frying: cook in batches so oil temperature stays steady and balls brown evenly.
– Undercooked centers: check the largest ball by cutting it open; baking or frying times will depend on ball size so adjust accordingly.
Fresh Takes Through the Year
– Spring: add chopped cilantro and a squeeze of lime to the sauce for a fresher finish; serve with crunchy cucumber ribbons.
– Summer: fold in finely chopped spring peas or edamame into the fish mixture for color and a fresh pop.
– Autumn: swap orange zest for a touch of grated apple or pear in the fish mix to add autumnal sweetness that plays well with the sauce.
– Winter: increase ginger in the sauce and add a pinch of five-spice into the fish balls for deeper, warming notes.
Little Things that Matter
– Toast the sesame seeds briefly in a dry pan until fragrant for the best flavor and aroma.
– Use freshly grated ginger and orange zest rather than ground or bottled for a brighter, cleaner taste.
– When frying, a single test ball lets you confirm oil heat and seasoning without wasting the whole batch.
– Let the sauce cool slightly before glazing if you want it thicker on the surface; warmer sauce will coat more thinly.
Cooling, Storing & Rewarming
– Cool completely before storing to avoid sogginess from trapped steam.
– Refrigerator: keep fish balls and sauce separately in airtight containers for up to 3 days. Store the glazed version for shorter periods (1–2 days) to preserve texture.
– Freezing: shaped, uncooked fish balls can be flash-frozen on a tray then stored in a freezer bag for up to 2 months. Thaw in the fridge before cooking. The sauce freezes well for up to 2 months in a freezer-safe container.
– Reheating: reheat gently in a 350°F oven for 8–10 minutes to restore crispness, or pan-fry briefly. If reheating glazed balls, warm the sauce separately and recoat just before serving to avoid sogginess.
Asian Fish Balls with Homemade Sweet and Sour Sauce Q&A
– Q: Can I use canned fish?
A: Fresh steamed or poached fillet is preferred for texture, but very well-drained canned fish can work in a pinch; expect a different texture and possibly adjust seasonings.
– Q: How can I make these less oily?
A: Baking at 170°C/350°F on a lightly oiled tray gives a lighter finish. Brush lightly with oil to help browning.
– Q: Can I double the sauce?
A: Yes — double the sauce measurements if serving a larger crowd or for extra dipping. The cornstarch ratio should be doubled as well.
– Q: My mixture is crumbly — what to do?
A: Add a little more beaten egg or a teaspoon of milk and mix gently; chilling the mixture 10–15 minutes also helps it bind.
– Q: Is it okay to make the balls ahead?
A: You can shape them a few hours ahead and refrigerate on a tray covered with plastic wrap. Cook when ready; cold balls hold shape better.
Time to Try It
Gather your fish and pantry staples, steam or poach the fish, and set a small pan on the stove for the sauce. With the sauce bubbling and the fish cooled and flaked, you’ll move through shaping and cooking in a focused, satisfying rhythm. The result is a crowd-pleasing plate of Asian Fish Balls glazed in a bright, flexible sweet & sour sauce — perfect for weeknights, parties, or a weekend experiment. Let me know how you like your sauce (sweeter, tangier, spicier), and any tweaks you make — I love hearing practical variations.

Asian Fish Balls with Homemade Sweet and Sour Sauce
Ingredients
- 10 oz fish fillet (cod, seabass, salmon, etc.) steamed and flaked
- 1 tablespoon breadcrumbs
- 2 tablespoons parsley chopped
- 2 cups ciabatta bread off the crust, cubed
- milk for soaking
- 1 large egg beaten
- 1/2 clove garlic finely minced
- all-purpose flour for coating and a pinch in mixture
- 1/3 teaspoon orange zest optional
- 1/3 teaspoon grated ginger optional
- 1 tablespoon spring onion chopped, to serve
- 1 tablespoon sesame seeds toasted, to serve
- vegetable oil for frying
- 1 cup sugar
- juice of 1 orange
- 1 teaspoon fresh grated ginger
- 1/2 cup pineapple juice
- 1 teaspoon minced garlic
- 2 tablespoons soy sauce
- 1/4 cup white vinegar
- sriracha a splash, optional
- 1/4 cup warm water
- 1/4 cup cornstarch
Instructions
- Make the sweet-and-sour sauce by combining sugar, orange juice (juice of 1 orange), grated ginger, pineapple juice, minced garlic, soy sauce, white vinegar and sriracha in a saucepan over medium heat and bring to a boil.
- In a small cup, dissolve the cornstarch into the warm water, then whisk the slurry into the boiling sauce and simmer for about 5 minutes until the sauce thickens; adjust consistency with more pineapple juice if you prefer it thinner. Set aside.
- Soak the cubed ciabatta in enough milk to cover for 5 minutes, then squeeze out excess milk and transfer the soaked bread to a large bowl.
- Add flaked steamed fish, minced garlic, chopped parsley, beaten egg, breadcrumbs and a pinch of all-purpose flour to the soaked bread; add optional orange zest and grated ginger if using, then season and mix until a cohesive mixture forms.
- Roll the mixture into small balls (about 1 to 1.5 inches each). Place some all-purpose flour on a plate and coat each ball lightly in flour.
- Heat about 1 inch of vegetable oil in a frying pan over medium-high heat. Fry the fish balls, turning occasionally, until evenly golden and cooked through, about 3–5 minutes depending on size; drain on paper towels.
- Alternatively, arrange the fish balls on a baking tray, brush with oil and bake at 170°C (350°F) for about 15 minutes or until cooked through.
- Transfer the cooked fish balls to a bowl, pour some sweet-and-sour sauce over them and toss gently to coat. Sprinkle with chopped spring onion and toasted sesame seeds, then serve.
Equipment
- Saucepan
- small bowl
- large mixing bowl
- frying pan
- plate lined with paper towels
- baking tray (optional)
- Measuring cups and spoons
Notes
- Use any firm white fish or salmon as preferred.
- Optional orange zest and grated ginger add brightness.
- Adjust sauce heat with more or less sriracha.
- For a lighter option, bake instead of frying.
