Authentic Fish Ball Soup Recipe: A Nutritious and Flavorful Seafood Dish

Authentic Fish Ball Soup: A Complete Recipe with Technique Guide

Fish ball soup is a staple dish across East and Southeast Asian cuisines — from Hong Kong-style fish ball noodle soup to Thai fish ball curry to Filipino bola-bola soup. The common thread is the fish ball itself: a smooth, springy, protein-dense dumpling made from finely processed fish paste. The texture of the fish ball — tender but with a slight bounce, not dense or rubbery — is the defining quality of the dish and the most technically demanding part of the recipe. This guide covers the complete technique for making fish balls from scratch, the broth, and the assembly, with specific quantities and troubleshooting guidance.

🔗 Sockeye Salmon Fillets | Coho Salmon Fillet Portions | Fish Collection at Global Seafoods


Choosing the Right Fish for Fish Balls

The fish is the most important variable in fish ball quality. Key requirements: (1) Firm, white-fleshed fish: firm fish produces a springier, more cohesive fish ball; soft fish produces a mushy, fragile ball; (2) Low fat content: high-fat fish (salmon, mackerel) can be used but produce a softer, richer fish ball; lean whitefish (cod, pollock, halibut, lingcod) produces the classic springy texture; (3) Very fresh or properly frozen: the fresher the fish, the better the paste; previously frozen fish works well if it was properly frozen and thawed.

Best fish for fish balls (in order of preference):

  • Pacific cod or lingcod: the classic choice; firm, white, mild; produces the most authentic springy texture
  • Alaskan pollock: very firm; slightly milder than cod; excellent for fish balls; the most affordable option
  • Halibut: firm and sweet; produces a slightly more delicate fish ball; excellent quality
  • Sockeye or coho salmon: produces a richer, more flavorful fish ball with a slightly softer texture and a pink color; a beautiful variation on the classic
  • Avoid: tilapia (too soft; produces a mushy ball), very oily fish like mackerel or sardines (too soft and strong-flavored for this application)

🔗 Sockeye Salmon | Coho Salmon Fillets


Complete Fish Ball Soup Recipe

Serves: 4–6 | Time: 1 hour | Makes approximately 30–35 fish balls

Ingredients: Fish Balls

  • 1 lb (450g) firm white fish fillets (cod, pollock, halibut, or lingcod), skin and bones removed, cut into 1-inch pieces
  • 1 egg white
  • 2 tbsp cornstarch
  • 1 tsp fine salt
  • ½ tsp white pepper (white pepper is traditional; black pepper works but is more visible)
  • 1 tsp fresh ginger, finely grated
  • 1 tsp sesame oil
  • 2 tbsp ice water (keeping the paste cold is critical — see technique note below)

Ingredients: Broth

  • 6 cups fish stock or chicken broth (fish stock produces a deeper, more complex flavor; chicken broth is a good substitute)
  • 2 cups water
  • 3 cloves garlic, minced
  • 1-inch piece fresh ginger, thinly sliced
  • 2 tbsp soy sauce (light soy sauce; not dark soy sauce)
  • 1 tbsp fish sauce (optional; adds depth and umami)
  • 1 tsp sesame oil
  • Salt and white pepper to taste

Ingredients: Vegetables and Garnish

  • 2 cups bok choy, roughly chopped (or baby bok choy, halved)
  • 1 cup napa cabbage, roughly chopped
  • 1 medium carrot, thinly sliced on the diagonal
  • 4 oz (115g) rice noodles or glass noodles, soaked according to package instructions (optional; makes the soup more substantial)
  • 3 green onions, thinly sliced
  • ¼ cup fresh cilantro, roughly chopped
  • Chili oil or fresh chili slices for serving (optional)

Step 1: Make the Fish Paste (The Critical Step)

Temperature is the most important variable in fish ball making. The fish paste must stay cold throughout the process — warm paste produces soft, mushy fish balls that fall apart in the broth. Keep the fish in the refrigerator until the moment you process it; use ice water in the paste; work quickly.

  1. Place the fish pieces in a food processor; pulse 10–15 times until finely chopped but not yet a smooth paste
  2. Add egg white, cornstarch, salt, white pepper, ginger, sesame oil, and ice water; process for 60–90 seconds until the mixture becomes a smooth, sticky, slightly elastic paste; it should pull away from the sides of the bowl and have a slight sheen
  3. Test the paste: drop a small amount (about ½ tsp) into a cup of hot water; if it holds its shape and has a slight bounce when pressed, the paste is ready; if it falls apart, process for another 30 seconds and test again
  4. Transfer the paste to a bowl; cover and refrigerate for 15–20 minutes (this resting period allows the proteins to relax and the cornstarch to hydrate, which improves the final texture)

Technique note — the “throwing” method: traditional Asian fish ball makers develop the springy texture by repeatedly throwing the fish paste against the side of the bowl (or a work surface) for 5–10 minutes; this develops the myosin proteins in the fish, creating a tighter, springier network; if you want the most authentic bouncy texture, do this after processing and before refrigerating; it is not strictly necessary for a home recipe but produces a noticeably better result.

Step 2: Shape the Fish Balls

Wet your hands with cold water (prevents sticking). Scoop approximately 1 tbsp of fish paste; roll between your palms into a smooth ball about 1 inch in diameter; place on a parchment-lined tray. Alternatively, use the squeeze method: squeeze the paste between your thumb and forefinger to form a ball, then scoop it off with a wet spoon. Keep the shaped fish balls refrigerated until ready to cook.

Step 3: Cook the Fish Balls

Bring a large pot of water (not the broth) to a gentle simmer — not a rolling boil; a rolling boil breaks apart the fish balls before they set. Drop the fish balls in batches of 8–10; do not overcrowd. Cook for 5–7 minutes until they float to the surface and are cooked through (internal temperature 145°F). Remove with a slotted spoon and set aside. Cooking the fish balls in plain water first (rather than directly in the broth) keeps the broth clear.

Step 4: Make the Broth

In a large pot, bring fish stock and water to a simmer over medium heat. Add garlic, ginger slices, soy sauce, and fish sauce (if using). Simmer for 10 minutes to infuse the flavors. Add carrots; cook 3 minutes. Add napa cabbage and bok choy; cook 3–4 minutes until just tender but still bright green. Add sesame oil; taste and adjust seasoning with salt and white pepper.

Step 5: Assemble and Serve

Add the cooked fish balls to the broth; simmer gently for 2–3 minutes to heat through and allow the fish balls to absorb the broth flavors. If using noodles, add them now and cook according to package instructions. Ladle into bowls; garnish with green onions, cilantro, and chili oil. Serve immediately.

🔗 Featured Seafood Collection | Fish Collection at Global Seafoods

🎥 Watch seafood recipes on the Global Seafoods YouTube Channel


FAQs: Fish Ball Soup

Why are my fish balls falling apart in the broth, and how do I fix it?

Fish balls fall apart for three main reasons: (1) Paste too warm: the most common cause; warm fish paste does not bind properly; keep the fish cold throughout the process; use ice water in the paste; refrigerate the shaped balls before cooking; (2) Insufficient processing: the paste needs to be processed until it is smooth, sticky, and slightly elastic; under-processed paste is grainy and does not hold together; process for at least 60–90 seconds after adding the binders; test by dropping a small amount in hot water; (3) Boiling too vigorously: a rolling boil breaks apart fish balls before they set; cook at a gentle simmer; the fish balls should float gently, not bounce around in turbulent water; (4) Too little binder: the standard ratio is 2 tbsp cornstarch per 1 lb of fish; if the paste seems too loose, add 1 additional tbsp of cornstarch and mix well; (5) Fish too soft: very soft fish (tilapia, very fresh farmed salmon) produces a weaker paste; use firmer fish (cod, pollock, halibut) for the most cohesive fish balls.

Can I make fish balls ahead of time, and how do I store them?

Yes — fish balls are excellent for make-ahead cooking: (1) Uncooked fish balls: shape and refrigerate on a parchment-lined tray for up to 24 hours before cooking; cover with plastic wrap; (2) Cooked fish balls (refrigerator): store in an airtight container in the broth or in water for up to 3 days; storing in water prevents them from drying out; (3) Cooked fish balls (freezer): freeze cooked fish balls in a single layer on a parchment-lined tray until solid (about 2 hours); transfer to a freezer bag; freeze for up to 2 months; cook from frozen by dropping directly into simmering broth for 3–4 minutes; (4) Reheating: reheat gently in simmering broth; do not boil; boiling makes the fish balls rubbery; (5) The broth: store the broth separately from the fish balls and vegetables; the vegetables become mushy if stored in the broth for more than a day; add fresh vegetables when reheating.

Can I use frozen fish for fish balls, and does it affect the texture?

Yes — properly frozen and thawed fish works well for fish balls. Key considerations: (1) Thaw correctly: thaw in the refrigerator overnight; do not thaw at room temperature or in warm water; (2) Pat very dry after thawing: previously frozen fish releases more water than fresh fish; excess moisture in the paste weakens the fish balls; pat the thawed fish completely dry with paper towels before processing; you can also press the fish between paper towels and let it sit for 5 minutes to draw out additional moisture; (3) Texture difference: fish balls made from properly frozen and thawed fish are slightly less springy than those made from never-frozen fish; the difference is noticeable in a direct comparison but not significant in the finished soup; (4) Quality matters: vacuum-sealed, flash-frozen fish (like the fillets available at Global Seafoods) produces better fish balls than fish that has been frozen in a non-vacuum package and has developed freezer burn; avoid fish with visible ice crystals inside the packaging.

Go to full site