This easy fish ball soup is my go-to recipe for a quick meal that’s full of flavor. Packed with protein rich ingredients and served in a savory and fragrant broth, it has the classic Southeast Asian flavor profile that everyone loves.

This fish ball soup is so satisfying. Whenever I make it I get excited because I know I am about to enjoy a bowl of deliciousness. Spicy, salty, savory, and fishy, the flavors balance each other so well. Plus, the different textures between tender bok choy, pillowy tofu, and firm fish balls, make every bite fun to eat.
This soup is very easy to make and only requires 9 easy-to-find ingredients. You should be able to find them at your local Asian supermarket. If you cannot find bok choy, it’s okay to use regular cabbage or napa cabbage since they have a similar texture.
Table of contents

Fish Ball Soup Ingredients
- Soup broth: The broth is a mixture of chicken stock, soy sauce, and oyster sauce. It has a salty and savory taste that’s also rich in umami.
- Bok choy: Bok choy is a Chinese cabbage that falls somewhere between spinach and napa cabbage. The leaves nicely absorb the flavor of the broth and have a mild, grassy taste.
- Fish balls: Any type of fish ball can be used for this soup so I suggest picking ones that you like eating. I’m using classic Japanese fish balls called tsumire, which are a mixture of minced fish such as sardines or mackerel, ginger, and starch.
- Tofu: Use firm or extra firm tofu for this soup to preserve the shape of the tofu cubes.
- Ginger: Who doesn’t love the heat of ginger when it’s added to soups! A thumb size – which is what I’m using – adds just enough heat to warm the palate. Feel free to add more for a spicier soup.
- Basil: Plenty of fresh basil is added to the soup to make it aromatic. You can use regular basil, Thai basil, or holy basil.
- Thai chili: Also called bird’s eye chili, Thai chili is a small red or green chili that packs a punch in the heat department. But careful when using them – a little goes a long way!

How To Make Fish Ball Soup
Scroll down to the recipe card for the full recipe.
- Prep all the ingredients. I am a firm believer in mise en place! It’s the best and easiest way to cook and it also keeps my kitchen clean.
- Start with the broth. In a medium size pot, mix the chicken broth, soy sauce, oyster sauce, and ginger. Bring the soup to a boil and lower the heat to a simmer.
- Simmer the soup. Add the bok choy, fish balls, and tofu, and let the soup simmer for a few minutes.
- Serve. Serve the soup in individual bowls and top with plenty of fresh basil, and a few chopped chilis.

Recipe Tip
To make this soup vegan:
- Swap the fish balls for konjac or a soy protein alternative. This is so the soup has different textures other than being all tofu. You can also use mushrooms as they have a meaty texture.
- Use vegetable broth instead of chicken broth. Use a good vegetable broth, preferably low sodium.
- Use hoisin sauce instead of oyster sauce. Or you can also use a plant based oyster sauce made with mushrooms.
Add noodles to make it a full meal. Ben likes to add ramen noodles while I prefer using rice noodles since this dish reminds me of the classic pho bo.
How To Store This Soup
Let the soup cool down to room temperature and transfer it to a storage container. Refrigerate for up to 4 days.
To reheat, transfer the soup to a microwave safe container and microwave for 2-3 minutes. Or, reheat the soup in a pot over medium low heat.

How To Serve Fish Ball Soup
On its own this soup is filling but not filling enough to be a full meal, unless noodles are added to it. This fish ball soup is delicious as a starter and goes well with other dishes that have a Southeast Asian flair.
Some of my favorites are:
- Banh xeo (Vietnamese crepe)
- Chicken banh mi sandwich
- Vietnamese meatballs
- Thai fried rice
- Basil chicken (pad kra pao gai)
- Thai jungle curry
- Pad see ew
- Pad woon sen
Other comforting Asian soups you might like to try: Miso soup, doenjang jiggae, oden, red coconut curry soup, vegan egg drop soup, classic egg drop soup, vegetable wonton soup, kitsune udon, baby bok choy soup, roasted chicken pho.

Did you like this fishball soup? Are there changes you made that you would like to share? Share your tips and recommendations in the comments section below!
Print
Fish Ball Soup
- Prep Time: 15 minutes
- Cook Time: 10 minutes
- Total Time: 25 minutes
- Yield: 2 servings 1x
- Category: Soup
- Method: Boiling
- Cuisine: Vietnamese
- Diet: Low Calorie
Description
Packed with protein rich ingredients and served in a savory and fragrant broth, this delicious fish ball soup has the classic Southeast Asian flavor profile that everyone loves.ย
Ingredients
- 4 cups low sodium chicken broth
- 1 tablespoon soy sauce
- 1/2 tablespoon oyster sauce
- 1 thumbsize ginger, peeled and finely chopped
- 2 regular bok choy or 4 small bok choy, chopped
- 6 ounces fish balls
- 6 ounces firm tofu, drained and sliced into bite size cubes
- 10 basil leaves, chopped
- 1 fresh Thai chili, chopped – skip it if you donโt like it spicy
Instructions
- Make the broth. Add the broth, soy sauce, oyster sauce, and ginger to a pot and bring to a boil.
- Add the other ingredients. Turn the heat down and add the bok choy, fish balls, and tofu. Simmer for 5 minutes.
- Serve. Turn the heat off and ladle the soup into bowls. Serve with basil and chili.
Notes
Storage: Save the soup in a storage container and refrigerate for up to 4 days.
Nutrition
- Serving Size: 1 serving
- Calories: 326
- Sugar: 5.1g
- Sodium: 632mg
- Fat: 17g
- Saturated Fat: 1.6g
- Unsaturated Fat: 2.8g
- Trans Fat: 0g
- Carbohydrates: 10.8g
- Fiber: 2.5g
- Protein: 26.9g
- Cholesterol: 11.9mg














