Taiwanese fish ball soup is a clear, savory soup of springy fish balls in a gently seasoned broth, often served with vegetables and scallions. This home-style version adds daikon, napa cabbage, celery, and ginger for a fresh, comforting bowl that comes together in about 40 minutes; recipes vary by household and region.
Ingredients
- 8 cups (1.9 L) low-sodium chicken broth or light fish stock
- 1 lb (450 g) Taiwanese-style fish balls, fresh or frozen
- 12 oz (340 g) daikon radish, peeled and cut into ½-inch (1.3 cm) half-moons
- 4 oz (115 g) napa cabbage, cut into bite-size pieces
- 1 celery rib (about 2 oz/60 g), thinly sliced
- 1½-inch (4 cm) piece fresh ginger (about 25 g), peeled and cut into thin slices
- 2 garlic cloves (about 6 g), lightly crushed
- 1 tablespoon (15 ml) light soy sauce
- ¼ teaspoon (about 0.5 g) ground white pepper, plus more to taste
- ½ teaspoon (3 g) fine salt, or to taste; use less if your broth is salty
- 1 teaspoon (5 ml) rice vinegar
- 2 scallions (about 30 g), thinly sliced
- ¼ cup (10 g) fresh cilantro leaves, roughly chopped
- 1 teaspoon (5 ml) toasted sesame oil, optional
Instructions
- Prepare the vegetables. Peel the daikon and cut it into evenly sized half-moons so the pieces soften at roughly the same rate. Slice the celery, napa cabbage, ginger, and scallions, keeping the scallions separate for finishing. Lightly crush the garlic with the flat side of a knife. If the fish balls are frozen, they can usually go straight into the soup; check the package directions in case they require thawing or a different cooking method.
- Build the broth. Pour the broth into a large pot and add the ginger, garlic, soy sauce, white pepper, and salt. Bring it to a gentle boil over medium-high heat, which should take about 5 minutes. Taste a spoonful before adding more salt: broth strength and fish-ball seasoning vary, and the soup is easier to adjust near the end than to correct if it becomes too salty.
- Soften the daikon. Add the daikon, lower the heat to maintain a steady simmer, and cook for 10 minutes. The pieces should be turning translucent around their edges and should yield when pierced with a fork, but they do not need to be falling apart. If your daikon pieces are thicker than ½ inch, give them a few extra minutes before adding the fish balls.
- Cook the fish balls. Add the fish balls and celery, then simmer gently for about 9 minutes, turning the balls once if needed so they heat evenly. Avoid a hard boil, which can make the broth cloudy and may cause delicate fish balls to split. Check the center of a large fish ball with a food thermometer; USDA FSIS gives fish a safe minimum internal temperature of 145°F (63°C). Continue simmering if the center has not reached that temperature. Frozen or unusually large balls may need extra time.
- Finish the greens and season. Stir in the napa cabbage and cook for about 2 minutes, just until wilted but still bright. Turn off the heat and mix in the rice vinegar. Taste the broth and adjust with a little more salt, soy sauce, white pepper, or vinegar as needed. The vinegar should brighten the soup, not make it taste distinctly sour.
- Serve hot. Ladle the broth, daikon, vegetables, and fish balls into four bowls. Finish with scallions, cilantro, and a few drops of sesame oil if using. Serve promptly while the fish balls are pleasantly springy and the greens retain their color.
Tips
- Choose fish balls with the texture you like. Taiwanese fish balls are often labeled fish balls, Taiwanese fish balls, or yúwán at Asian grocery stores. They may be made from different fish and can be plain, seasoned, or filled. Check the package for filling and cooking directions, and follow the thermometer step for this soup. If Taiwanese-style balls are unavailable, plain Asian fish balls are a practical substitute; the flavor and bounce may differ, so season the broth to taste.
- Keep the simmer gentle. A rolling boil can break up softer balls and make a clear broth look cloudy. Once the daikon is cooking, adjust the burner so small bubbles rise steadily rather than vigorously. If the soup starts boiling hard after adding frozen fish balls, lower the heat and let it return to a gentle simmer.
- Adjust salt at the end. Fish balls can contain salt, and stock varies considerably. Starting with low-sodium broth and holding back some of the salt gives you control. If the finished broth tastes too salty, add a little hot water or unsalted broth and recheck the seasoning rather than adding sugar to mask it.
- Use a good substitute for the stock. Light fish stock gives the soup a more seafood-forward taste, while chicken broth makes it rounder and fuller. For a vegetarian variation, use vegetable broth and plant-based fish-style balls if available; the result will be a different soup, but ginger, daikon, and white pepper still make a balanced base.
Serving Suggestions
Serve the soup as a light main course with steamed rice, or offer it as a first course before a larger meal. Rice is especially useful for soaking up the ginger-scented broth. For a more filling bowl, serve with cooked rice vermicelli or thin wheat noodles; prepare the noodles separately according to their package directions, then divide them among bowls before ladling the soup over them. Cooking noodles separately keeps their starch from clouding the broth and prevents them from absorbing too much liquid in the pot.
Set out extra sliced scallions, cilantro, white pepper, and a small dish of chili oil so each person can season a bowl at the table. A side of blanched greens, stir-fried vegetables, or a simple cucumber salad gives the meal contrast without competing with the mild broth. If serving several people, keep the soup at a gentle simmer and ladle into warmed bowls just before eating; prolonged boiling after the cabbage is added makes its texture softer and less fresh.
Variations
Add mushrooms: Slice 4 oz (115 g) fresh shiitake or button mushrooms and simmer them with the daikon. Fresh shiitake add an earthy, savory note; button mushrooms are milder. Dried shiitake are another option, but they need soaking according to their package directions first, and their soaking liquid should be strained before use because it can contain grit.
Make it more aromatic: Add a small handful of thinly sliced fresh ginger or a pinch of ground white pepper at the table. White pepper is common in clear soups and gives a warm, direct heat; black pepper works if that is what you have, though its flavor is more pronounced and less delicate. A few drops of sesame oil are enough, since too much can cover the clean broth flavor.
Change the greens: Replace napa cabbage with 4 oz (115 g) baby bok choy, spinach, or choy sum. Add bok choy or choy sum for the last 2–3 minutes of cooking. Stir spinach in right at the end and let the residual heat wilt it. These vegetables alter the flavor and texture slightly, so keep the broth seasoning simple and taste before adding extra salt.
Make a heartier pot: Add 8 oz (225 g) firm tofu, cut into ¾-inch (2 cm) cubes, when you add the fish balls, or include cooked noodles in each serving. Tofu takes on the broth’s flavor without making the soup heavy. Avoid stirring vigorously once the tofu and fish balls are in the pot; gentle movement helps keep both intact.
Storage and Reheating
Cool leftovers promptly and refrigerate them within 2 hours in a covered, shallow container. For the best texture, store the broth, vegetables, and fish balls together only if convenient, but keep any cooked noodles separate so they do not swell and soak up the soup. Refrigerated cooked soup keeps for 3–4 days. If you know you will have leftovers, you can also cook only the portions of fish balls and greens you plan to eat and keep the remaining ingredients uncooked according to their package instructions.
Reheat only the amount you need in a saucepan over medium heat, stirring gently until it is steaming throughout. Check that leftovers reach 165°F (74°C), the USDA FSIS recommended temperature for reheated leftovers. Avoid repeatedly cooling and reheating the whole pot, as that can make the vegetables soft and lowers the quality of the fish balls. Freeze the soup in airtight portions for up to 2 months for best quality; thaw overnight in the refrigerator and reheat to 165°F (74°C). Cabbage and daikon may soften after freezing, but the broth remains usable.
Frequently Asked Questions
Are Taiwanese fish balls already cooked?
Many packaged fish balls are pre-cooked before freezing, but products differ, and some may require cooking from raw. Read the package label for handling instructions. For this recipe, heat the center of the fish balls to 145°F (63°C), the USDA FSIS safe minimum for fish, regardless of whether the package says they are precooked. Frozen balls can generally be added directly to simmering broth if the label allows it.
Can I use frozen fish balls without thawing them?
Usually, yes. Add frozen fish balls directly to the simmering broth, then allow enough time for the centers to heat fully. The stated 9 minutes is a guide for typical fish balls, not a guarantee for every size or brand, so use the thermometer check and keep simmering if necessary. Thawing in the refrigerator first may make the heating time more predictable, but do not thaw them on the counter.
What can I use instead of daikon?
Turnip is the closest readily available substitute: peel it and cut it into similar half-moons, then simmer until tender. The flavor is a little earthier and may be stronger than daikon. A small amount of peeled carrot can add sweetness and color, though it will not provide the same mild radish flavor. Cut any substitute evenly so it cooks at the same pace.
How do I keep the broth clear?
Use a gentle simmer rather than a vigorous boil, skim off any foam that gathers on the surface, and avoid stirring hard after adding the fish balls. A clear broth also depends on the stock and fish balls; some packaged products release a little starch or protein as they heat. That is normal and does not mean the soup is spoiled. For the clearest result, cook noodles separately and add them to serving bowls rather than to the soup pot.
Can I make the soup ahead?
You can prepare the vegetables and measure the seasonings a day ahead, keeping them refrigerated in separate covered containers. The broth can also be simmered with the ginger and garlic in advance, then cooled and refrigerated promptly; bring it back to a simmer before adding the daikon, fish balls, and cabbage. For the freshest texture, cook the vegetables and fish balls shortly before serving instead of holding the finished soup hot for a long time.
Why are my fish balls tough or falling apart?
Texture depends on the product as well as the cooking method. A hard boil, extended cooking, or repeated stirring can make some fish balls tough or cause softer ones to split. Keep the broth at a gentle simmer and start checking around the suggested cooking time, while still confirming the center reaches 145°F (63°C). If a brand remains firm, try a shorter simmer next time only if its package instructions and the temperature check allow it.
Related
- Portuguese Kale Soup with Linguica, Potatoes and Beans
- Portuguese Lamb Stew with Red Wine, Potatoes, and Herbs
- Portuguese Linguica and Cabbage Soup, Made Simple
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).