Bouncy, golden fish balls bobbing in a thick, mildly spicy curry sauce - that is Hong Kong curry fish balls, one of the city’s defining street snacks. Vendors scoop them from metal trays kept warm all day, and eaters spear them on wooden skewers and walk on. You can make the whole thing at home in about 25 minutes, and the sauce is the star.

This recipe uses frozen deep-fried fish balls from the Asian grocery, the same shortcut most home cooks in Hong Kong use. You build a rich coconut-curry sauce, simmer the balls in it for 10 minutes, and serve them hot. The result is a snack that belongs next to dim sum classics and fried shrimp balls on your Chinese cooking rotation.

Frozen deep-fried balls are the easy path, but they are not your only option. Plain (non-fried) fish balls from the same freezer aisle work in this sauce - they just come out softer and need a few extra minutes of simmer. Fresh fish balls, when your market carries them, are the closest thing to the street version, and they are worth the splurge.

Key Takeaways

  • Frozen deep-fried fish balls (about 30 per pack) are the fast, authentic base - no need to hand-form balls.
  • The sauce is a roux-thickened blend of Thai yellow curry paste, coconut milk, and curry powder.
  • Simmer the balls 10 minutes so they warm through and soak up flavor without going mushy.
  • Serve on skewers street-style, or over rice or noodles to turn it into a meal.
  • The sauce is intentionally thick and clingy - you want a fish ball curry, not a curried fish ball.

How to Make Hong Kong Curry Fish Balls

  1. Mince the shallots and set them aside.
  2. Heat 2 tablespoons of oil in a wide pan or skillet over medium heat. Cook the shallots 5 to 6 minutes until golden and caramelized.
  3. Stir in the flour and cook 1 minute to make a roux, then push everything to one side of the pan.
  4. Add the last tablespoon of oil and the Thai yellow curry paste to the open space. Fry 1 to 2 minutes until fragrant.
  5. Pour in the chicken stock and stir, breaking up the roux and curry paste. Bring to a boil and let it thicken.
  6. Stir in the coconut milk, curry powder, soy sauce, white pepper, black pepper, and sugar.
  7. Add the fish balls and simmer 10 minutes until the sauce thickens and the balls are warmed through.
  8. Serve hot in a bowl with skewers, or spooned over steamed rice or noodles.

Ingredients

  • 3 tablespoons vegetable oil, divided
  • 5 shallots, minced
  • 1 1/2 tablespoons all-purpose flour
  • 2 tablespoons Thai yellow curry paste
  • 2 cups chicken stock
  • 1/3 cup coconut milk
  • 3 tablespoons curry powder
  • 1 tablespoon soy sauce
  • 1/8 teaspoon ground white pepper
  • 1/8 teaspoon ground black pepper
  • 1/4 teaspoon sugar
  • 2 packs frozen deep-fried fish balls (about 30 balls)

Choosing the Fish Balls

  • Frozen deep-fried (best shortcut): already cooked with a lightly crisp skin; they soak up the sauce fast and hold their bounce. This is what most Hong Kong home cooks buy.
  • Frozen plain: cooked but not fried; softer bite, slightly denser. Add them with the sauce and simmer a few extra minutes.
  • Fresh: the gold standard when your Asian market stocks them. Slightly firmer texture, same cook time as frozen deep-fried.
  • The bounce test: whatever you buy, a good fish ball springs back when you press it. Dry, chalky balls mean too much flour filler.

One note on portion size: a pack labeled for soup or hot pot usually has smaller balls (about an inch across) than the larger street-style ones. Either works here, just count by weight - about 500 g (just over a pound) for 4 servings.

What Are Hong Kong Curry Fish Balls?

Curry fish balls (咖喱魚蛋, gau lei yue dan - literally “curry fish eggs”) emerged on Hong Kong streets in the 1950s. Unlicensed vendors sold them from mobile wooden carts, using cheap fish mixed with starch to keep prices low. The starch gave the balls the springy, elastic texture people loved, and the spicy curry did double duty masking any fishiness in cheaper fish. It worked so well that the snack outlived the carts - today the stands have storefronts, the fish is fresh, and the flavors are the same.

The sauce sets street curry fish balls apart from restaurant curry. It is darker, spicier, and thicker, built to cling to each ball. Some stall cooks add a spoonful of peanut butter for extra richness and stickiness. It is a forgiving sauce, so taste and adjust as you go.

Street Stall Style vs Home Style

A Hong Kong curry fish ball stall rarely stops at fish balls. The same curry sauce holds a whole medley: white radish (lo bak), wieners, fish siu mai, wheat gluten balls, and sometimes beef tripe or squid. Everything simmers together in the tray, each piece picking up the sauce.

Curry fish balls and fish siu mai trays at a Hong Kong street stall with skewers

The stalls are still everywhere, though hand-made balls are getting rarer - most now arrive frozen from food-service suppliers, which is exactly why the frozen shortcut at home does not feel like cheating.

At home, keep it simple - just fish balls - or add a few extras to make it a party platter:

  • White radish: peel, cut into thick rounds, and simmer in lightly sweetened water 20 to 30 minutes until soft before adding to the curry.
  • Wieners and fish siu mai: blanch briefly to wash off surface oil, then add with the fish balls.
  • Wheat gluten balls: boil 5 minutes longer than the fish balls to soften, then add.

Sauce Notes

Curry powder blends vary, and the one you buy changes the sauce. A basic yellow or madras blend is closest to the street version. Japanese curry roux (the block kind) makes a sweeter, thicker sauce and works as a one-for-one swap if you skip the flour roux step. Want more heat? Stir a spoonful of chili crisp or sambal in with the curry paste so it blooms in the oil.

How to Serve and Store

Serve curry fish balls hot, straight from the pan, with wooden skewers for the street experience. The sauce is thick enough to spoon over steamed rice, plain noodles, or curry meatballs-style bowls - nothing should go to waste. Add a drizzle of chili oil if you want more heat.

Feeding a crowd? Double the sauce and keep the pot on low through the party. The sauce holds the balls well, and a splash of stock brings it back to life when it tightens. Curry fish balls are also a natural fit for a dim sum spread - serve them next to steamed beef meatballs and egg rolls.

Leftovers keep 3 to 4 days in the fridge in an airtight container. The sauce thickens as it sits, so add a splash of water or stock when reheating. The balls also freeze well in the sauce for up to 3 months.

Curry Fish Balls Around Asia

Hong Kong owns the curry fish ball, but neighbors have their own takes. Japan simmers balls in a mild curry sauce (sometimes from a roux block), and Thailand pairs fish balls with spicy curries like in this Thai coconut curry meatballs style. If you like bouncy fish-based bites, Thai fish cakes are another great use for the same grocery-store fish paste. For more pan-Asian ball inspiration, see our Asian meatball recipes roundup.

FAQ

Are curry fish balls healthy? A serving of about 7 to 8 fish balls in sauce runs roughly 200 to 250 calories with 10 to 14 grams of protein, depending on the brand. Frozen deep-fried balls add oil, so the sauce version is more of a treat than an everyday meal - but it beats most takeout.

What do curry fish balls taste like? Bouncy and savory with a mild curry warmth. The fish flavor is subtle, the sauce is rich and slightly sweet, and the texture is the point - springy, never mushy.

Can I use fresh fish balls instead of frozen? Yes. Plain (non-fried) fish balls work too; just simmer them a few minutes longer and expect a softer, less chewy texture.

Are curry fish balls gluten free? Most fish balls are made with fish, starch, and seasonings, but some brands add wheat flour and soy sauce contains wheat. Check the label, or use tamari instead of soy sauce.

Can I make the sauce ahead? Yes, the curry sauce keeps 3 to 4 days refrigerated. Reheat gently, add the fish balls, and simmer 10 minutes before serving.

Sources