Thai Fish Ball Soup with Glass Noodles
Photo by Washarapol D BinYo Jundang on Pexels
MeatballsThaiMedium

Thai Fish Ball Soup with Glass Noodles

Bouncy homemade fish balls scented with cilantro root, garlic and white pepper are poached in a clear, savory broth with slippery glass noodles and tender napa cabbage, then topped with crisp fried garlic.

Prep
35 min
Cook
20 min
Wait
20 min
Total
1 hr 15 min
Makes
4 bowls (about 24 fish balls)
Share

Steps

Before you start
  • Put the fish in the fridge (or 10 minutes in the freezer) until very cold. Cold fish makes a springier, bouncier fish ball.
  • Buy cilantro with the roots attached. If you can only find bunches without roots, use the lowest 2 inches (5 cm) of the stems; see Substitutions.
  • Read the timing: the paste chills for 20 minutes while the noodles soak, so you can use that time to get the broth ingredients ready.
  • Have a bowl of cold water ready for wetting your hands when you shape the balls, and an instant-read thermometer handy to confirm the fish is cooked to 145°F (63°C).
  1. Prep the aromatics

    • Scrub the cilantro roots under running water to remove all grit.
    • Chop 4 roots roughly for the fish balls and smash the other 4 with the flat of a knife for the broth.
    • Chop 2 garlic cloves for the fish balls, smash 3 cloves for the broth, and slice the remaining 3 cloves paper-thin for frying.
    • Slice the scallions, chop the cilantro leaves, cut the napa cabbage, and cut the lime into wedges if using.
    • Cut the cold fish into 1-inch (2.5 cm) chunks and return it to the fridge.
    + Show details

    Ready when: Everything is chopped and sorted into separate piles; the fish stays cold.

    Tip: Keep the two sets of cilantro roots and garlic separate: one goes into the fish paste, the other flavors the broth.

  2. Fry the garlic

    • Pour the oil into an 8-inch (20 cm) skillet and add the sliced garlic while the oil is still cold.
    • Set over medium-low heat and stir constantly for 2–3 minutes.
    • Remove from the heat the moment the slices turn pale golden, then pour the garlic and oil into a small heatproof bowl; it will keep browning from residual heat.
    + Show details

    Ready when: Slices are pale golden and the bubbling slows. They will darken and crisp as they cool.

    Tip: Fried garlic goes from golden to bitter in seconds. Pull it off the heat early.

  3. Make the fish paste

    • Put the cold fish, salt, and white pepper in the food processor.
    • Pulse 8–10 times, then process continuously for about 1 minute, scraping down the bowl once, until a coarse, sticky paste forms.
    • Add the chopped cilantro roots, chopped garlic, fish sauce, cornstarch, and egg white.
    • Process 30 seconds more, drizzling in the ice water through the feed tube, until the paste is smooth, tacky, and holds together in a mass.
    + Show details

    Ready when: The paste is smooth and very sticky, and clings to the spatula when you lift it.

    Tip: Do not process beyond about 2 minutes total; the friction warms the paste and makes the balls less bouncy.

  4. Chill paste, soak noodles

    • Scrape the fish paste into a bowl, cover, and refrigerate for 20 minutes to firm up.
    • Meanwhile, put the glass noodles in a large bowl, cover with warm tap water, and soak 10–15 minutes.
    • Drain well, then use scissors to cut the noodles into 6-inch (15 cm) lengths so they are easy to eat with a spoon.
    + Show details

    Ready when: Paste feels cold and firmer; noodles are pliable and translucent-white with no hard center.

  5. Shape the fish balls

    • Line a large tray or plate with parchment.
    • Wet your hands in cold water.
    • Scoop about 1 heaping tablespoon (20 g) of paste into your palm and roll it into a smooth 1-inch (2.5 cm) ball.
    • Place it on the tray and repeat to make about 24 balls, re-wetting your hands as the paste becomes sticky.
    + Show details

    Ready when: About 24 evenly sized, smooth balls.

    Tip: Alternatively, squeeze the paste through a closed fist so a ball pops out between thumb and forefinger, and scoop it off with a wet spoon.

  6. Simmer the broth

    • In the 4- to 5-quart (4–5 L) pot, combine the chicken stock, smashed cilantro roots, and smashed garlic.
    • Bring to a boil over medium-high heat, then reduce to low and simmer, partly covered, for 10 minutes to infuse.
    • Stir in the fish sauce, soy sauce, and sugar.
    • Taste; it should taste pleasantly salty and savory, as the fish balls and cabbage will mellow it slightly.
    + Show details

    Ready when: Broth smells strongly of garlic and cilantro and has a gentle, steady simmer with small bubbles.

    Tip: For a cleaner-looking soup, fish out the cilantro roots and garlic with a slotted spoon before adding the fish balls.

  7. Poach the fish balls

    • Raise the heat to medium so the broth is at a bare simmer (small bubbles, not a rolling boil).
    • Gently lower the fish balls in, a few at a time, with a spoon.
    • Poach 4–5 minutes.
    • The balls will sink at first, then float and turn opaque white and firm.
    • Lift one ball out with a slotted spoon and insert an instant-read thermometer into its center; the fish must read at least 145°F (63°C).
    • If it reads lower, return the balls to the broth for 1 more minute and test again.
    + Show details

    Ready when: Balls float, feel firm and springy when pressed, are opaque white throughout, and read at least 145°F (63°C) in the center.

    Tip: A hard boil makes the balls rubbery and rough. Keep the surface barely bubbling.

  8. Add noodles and cabbage

    • Add the drained glass noodles and cabbage to the pot and stir gently.
    • Simmer 2 minutes, until the cabbage is tender but still has a little bite and the noodles are clear and slippery.
    + Show details

    Ready when: Noodles are fully translucent and cabbage ribs are tender.

    Tip: Don't leave the noodles to simmer longer, since they keep absorbing broth and turn mushy.

  9. Season and serve

    • Taste the broth and add a splash of fish sauce if it needs more salt.
    • Divide the noodles, cabbage, and about 6 fish balls among 4 warm bowls and ladle the hot broth over.
    • Top each bowl with scallions, cilantro, and a spoonful of the fried garlic with some of its oil.
    • Sprinkle with white pepper and serve with lime wedges on the side, if using.
    + Show details

    Ready when: Soup is steaming hot and well seasoned.

    Tip: Add the fried garlic at the last second so it stays crisp.

Good to know

Tips
  • Salting the fish first and processing it into a sticky paste develops the protein that gives fish balls their characteristic bouncy bite.
  • To check seasoning before shaping all the balls, poach a small spoonful of paste in simmering water for 2 minutes until opaque and firm, taste it, and adjust the salt or pepper in the remaining paste.
  • Keep the broth at a bare simmer when poaching. A rolling boil toughens the balls and clouds the soup.
  • Fresh white pepper gives the soup its signature warm heat. Sprinkle it on at the table so the aroma stays bright.
Make ahead

The shaped, uncooked fish balls can be covered and refrigerated for up to 1 day. The broth (through the seasoning step) can be made 2 days ahead. Reheat to a simmer before poaching the balls and adding the noodles and cabbage. Fried garlic keeps in an airtight container at room temperature for 1 day.

Storage & reheating

Cool leftovers quickly and refrigerate fish balls and broth together, covered, for up to 2 days (the noodles will soften and absorb broth, so store them separately if possible). Reheat gently on the stove until steaming hot (165°F / 74°C), without boiling hard. Cooked fish balls (without noodles) can be frozen for up to 2 months; thaw overnight in the fridge. Not recommended to freeze the noodles or cabbage. Don't leave at room temperature longer than 2 hours.

Substitutions
  • cilantro roots → 2 tbsp finely chopped cilantro stems, plus ¼ tsp extra white pepper. Stems are milder than roots; the soup will still be fragrant but a little less earthy.
  • skinless white fish fillet (cod, haddock, snapper or tilapia) → Pollock, hake, or catfish fillet. Any mild, lean white fish with a low oil content works; avoid oily fish like salmon, which won't bind as well. Cook to the same 145°F (63°C).
  • napa cabbage → Baby bok choy, halved, or Chinese celery leaves. Bok choy cooks in about the same 2 minutes; add celery leaves just before serving.
  • dried mung bean glass noodles (cellophane noodles) → Thin rice vermicelli. Soak per package directions; the texture will be softer and less slippery.

Reviews (0)