Asian Fish Soup Recipe: Fragrant Lemongrass and Chili Perfection

Soups & Stews

Asian Fish Soup Recipe: Fragrant Lemongrass and Chili Perfection

This Asian fish soup recipe delivers the fragrant, spicy-sweet harmony that makes it a staple in Vietnamese and Thai kitchens—where every spoonful balances heat, citrus, and umami. The secret lies in slow-simmered broth infused with lemongrass, galangal, and chili, which transforms simple fish into melt-in-your-mouth perfection.

I’ve refined this version over years of testing, ensuring the broth stays rich without overpowering the delicate fish.

What sets this recipe apart is its two-stage cooking method: first building the aromatic base with ginger, garlic, and star anise, then gently poaching the fish in the finished broth to preserve its natural oils.

The result is a soup where the fish practically dissolves on your tongue, while the herbs and chili add layers of complexity. It’s the kind of dish that tastes even better the next day as flavors deepen.

This version keeps the authentic soul of traditional Asian fish soup while adapting for home cooks—no special equipment required. The broth is deeply flavorful but light enough to let the fish shine, and the garnish of fresh cilantro and lime brightens every bite.

Whether you’re serving it as a comforting weeknight meal or a special occasion dish, this recipe delivers restaurant-quality results with minimal effort.

Pair it with steamed jasmine rice to soak up every last drop of that fragrant broth, or serve with crusty bread for dipping. The beauty of this soup is its versatility—use firm white fish like cod or snapper, or swap in shrimp for a seafood twist.

Here’s how to make it perfectly every time.

👨‍🍳
Difficulty
Medium
🐟
Diet
Seafood
🔥
Calories
Med Cal

Ingredients for asian fish soup

Fragrant herbs, delicate fish, and aromatic spices create this restaurant-quality Asian fish soup.

Ingredient Amount Notes
White Fish Fillets 🐟 1 ½ lb Cod or snapper preferred
Lemongrass Stalks 🌿 3 whole Outer leaves removed
Galangal Slices 🌿 ½ cup Fresh, thinly sliced
Red Chili Peppers 🌶️ 2 whole Bird's eye or Thai chili
Garlic Cloves 🧄 6 cloves Peeled, smashed
Fresh Ginger 🧅 ½ cup Finely grated
Star Anise Pods 🌿 2 whole Lightly crushed
Coconut Milk 🥛 1 cup Full-fat preferred
Fish Stock 💧 4 cups Homemade or quality store-bought
Fresh Cilantro 🌿 ¼ cup Chopped for garnish
Lime Wedges 🍋 3 whole For serving
Jasmine Rice 🍚 1 cup Uncooked, for serving
Salt 🧂 1 ½ tsp Adjust to taste
White Peppercorns 🌶️ ½ tsp Ground fresh preferred
Olive Oil 🫒 1 tbsp For initial searing

The galangal and lemongrass are the soul of this dish—fresh is non-negotiable. Most Asian markets carry galangal, but if unavailable, substitute ginger at half the amount. Look for stalks with vibrant green leaves and firm texture. Trader Joe's and Whole Foods are reliable sources for quality lemongrass. The star anise adds depth, so don't skip it—it's the secret behind that restaurant-quality aroma. For the fish, cod or snapper hold up best to gentle poaching, but any firm white fish works.

No galangal? Ginger plus a pinch of turmeric mimics its peppery warmth. Can't find star anise? 1/4 tsp cinnamon provides a similar earthy note. The coconut milk should be full-fat for richness—store-bought brands like Thai Kitchen work fine. Fresh chili peppers are ideal, but dried red pepper flakes at 1/4 tsp add heat if needed. The fish stock makes or breaks the broth—homemade is best, but Knorr or Pacific brand are solid shortcuts. Always taste and adjust salt before serving.

This soup tastes even better the next day as flavors meld. Store in an airtight container for up to 3 days in the fridge. For longer storage, freeze the broth separately from the fish—3 months max. Garnish with fresh cilantro and lime right before serving to preserve brightness. Serve with steamed jasmine rice to soak up every last drop of that fragrant broth.

❤️

Why You'll Love This Recipe

  • No Chopping Needed: I swear by this trick—just smash the garlic and galangal with the flat side of my knife. That’s it. No mincing, no mess, and the soup still bursts with that bright, herbal punch.
  • First Bite Heat: Between the lemongrass’s citrusy kick and the chili’s slow simmer, every spoonful is a little flavor explosion. Honestly, the fish stays tender while the broth gets this just-right spicy depth—like a hug for your taste buds.
  • Lunchbox Magic: Double the batch, and I’ve got dinner tonight and tomorrow’s lunch sorted. The broth keeps well, and the fish reheats beautifully—no sad, rubbery leftovers here.
  • Pantry Stash Winner: Galangal and lemongrass last forever in the freezer, and fish fillets are cheaper than you’d think. Here’s what sold me: I can make this soup for under $10 and still feel like I’m eating at a fancy spot.

Step-by-step instructions for Asian fish soup recipe

Here's how to create a fragrant, balanced soup where every element harmonizes perfectly.

1

Prepare the Aromatic Base

Heat the 1 tablespoon olive oil in a large pot over medium heat. Add the 3 whole lemongrass stalks (outer leaves removed), 0.5 cup galangal slices, 2 whole red chili peppers (halved lengthwise), 6 cloves garlic, and 0.5 cup fresh ginger. Cook for 5-7 minutes until the aromatics release their oils and the mixture smells deeply fragrant—this is the foundation of your soup's complex flavor.

Real talk: if the galangal or ginger starts to brown too quickly, reduce the heat slightly. You want them to soften and perfume the oil without burning. The chili peppers should darken slightly but not char. Stir occasionally to prevent sticking, especially during the first 2 minutes when the oil is hottest.

2

Build the Flavor Layers

Add the 2 whole star anise pods (lightly crushed) and stir for 30 seconds to distribute their anise notes. Pour in the 4 cups fish stock and bring to a gentle simmer. Once simmering, add the 1 cup coconut milk and 1.5 teaspoons salt. The soup should smell like a tropical forest—citrusy, peppery, and subtly sweet.

Simmer uncovered for 15 minutes to allow the flavors to meld. Skim off any foam that rises to the surface with a spoon—this ensures a clean, clear broth. The galangal and lemongrass should be tender enough to mash against the pot with a spoon, releasing their essence into the liquid.

3

Cook the Fish to Perfect Tenderness

Add the 1.5 lb white fish fillets (cod or snapper preferred) to the simmering broth. Gently push them down with a spatula to submerge completely. Cook for 8-10 minutes until the fish is just opaque in the center and flakes easily with a fork—overcooking will turn it rubbery.

Here's the thing—fish cooks faster than you think. Start checking for doneness at 6 minutes by gently lifting a fillet with a fork. It should separate cleanly but still feel slightly firm to the touch. If it flakes too easily, it's done; if it resists, give it another 1-2 minutes of cooking time.

4

Finish and Serve with Precision

Remove the pot from heat and carefully transfer the fish to a serving platter. Discard the lemongrass stalks, galangal, chili peppers, and star anise pods. Stir in the 0.5 teaspoon ground white peppercorns and adjust the seasoning with additional salt if needed. The soup should taste balanced—bright from the lime (which you'll add later), slightly sweet from the coconut, and deeply aromatic.

Ladle the hot soup over 1 cup cooked jasmine rice in individual bowls. Garnish each serving with 3 lime wedges and 0.25 cup chopped fresh cilantro. Serve immediately while the fish is still warm and the broth maintains its rich texture. The lime wedges should be squeezed into each bowl just before eating to brighten the flavors.

👨‍🍳

Pro Tips For Making Asian Fish Soup

  • Bruise the Galangal: Slap those slices hard with the flat side of your knife first—it cracks open the fibers and releases way more flavor than thin, delicate slices. I used to cut them like ginger, but my soup tasted bland until I tried this. Works for lemongrass too if you’re feeling extra.
  • Simmer Low and Slow: Once the fish hits the pot, drop the heat to a bare simmer—no rolling boil, or the fish will turn rubbery before the broth even develops. I learned this after overcooking three batches of cod and wondering why it fell apart. Trust me, 10 minutes of gentle bubbling makes all the difference.
  • Toast the Chili Peppers: Dry-toast the whole chilies in a pan for 30 seconds until fragrant before adding them to the broth—it deepens their heat and aroma. I skip this sometimes, and the soup just tastes flat. (Yes, even if you’re impatient like me.)
  • Use Fish with Bones: Skip the fillets if you can—whole small fish (like mackerel or snapper) or fillets with skin-on bones add body and flavor to the broth. I used to insist on boneless, and the soup never had that rich, umami depth. Worth the extra effort for the payoff.

Common mistakes when making perfect results

Overcooking the Fish

Fish in this soup cooks faster than you might expect—just 8-10 minutes at most. I’ve ruined many batches by letting it sit too long, turning delicate fillets into rubbery disappointment.

The moment the fish flakes easily with a fork, it’s done. Set a timer for 6 minutes and check early—this is where most home cooks go wrong. 🐟

Skipping the Aromatics

The galangal and lemongrass are non-negotiable—they carry the dish’s signature aroma. I once made this soup without them (thinking ginger would suffice), and it tasted flat. Even if you substitute, use fresh ingredients—dried or powdered versions lack the depth.

The star anise also adds a subtle licorice note that rounds out the broth.

Ignoring the Simmer

A rolling boil will cook the fish unevenly and make the broth cloudy. Maintain a gentle simmer—small bubbles breaking the surface, not a vigorous boil. I learned this the hard way when my first attempt turned the broth murky.

Use medium-low heat and adjust as needed. The broth should barely ripple when you stir.

Adding Coconut Milk Too Early

Coconut milk breaks when exposed to high heat, creating a curdled mess. Always add it after the broth has simmered for 10 minutes—this ensures creamy richness without separation.

I’ve had to rescue soups by whisking in a bit of hot broth to re-emulsify the milk. A splash of lemon juice can also help restore smoothness.

Not Adjusting Seasoning

Taste the broth before adding the fish—it should be balanced but not bland. I often need to add ½ teaspoon more salt after cooking because the fish absorbs some of the flavor.

The lime wedges you serve with it should be squeezed in at the table to brighten the dish—don’t add them earlier or they’ll turn bitter.

Using Low-Quality Stock

Cheap store-bought fish stock lacks the depth of homemade or premium brands. I’ve tried Pacific brand and Knorr as shortcuts, but homemade stock (even a simple one with fish heads and bones) makes a world of difference.

If you must use store-bought, look for options with no added MSG—it can overpower the delicate flavors.

Nutrition facts

Servings 4
Amount Per Serving
Calories 380kcal
% Daily Value *
Total Fat 18g23%
Saturated Fat 9g45%
Cholesterol 75mg25%
Sodium 850mg37%
Total Carbohydrate 32g11%
Dietary Fiber 2g8%
Sugars 3g
Protein 32g64%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

What's the best fish to use for this Asian-inspired soup?

Firm white fish like cod or snapper work best—they hold their shape beautifully in the broth. Tilapia is another great option, while flaky fish like haddock can turn too soft. For extra richness, try salmon fillets, though they'll cook slightly faster (6-8 minutes max). Avoid delicate fish like sole or flounder unless you're experienced with quick cooking.

2

Can I make this soup vegetarian?

Swap the fish for 1 block firm tofu (pressed and cubed) or 8 oz shiitake mushrooms (sliced thick). For texture, add 1/2 cup cooked chickpeas or 1/4 cup water chestnuts. The broth will still shine—just reduce the cooking time for tofu to 5-7 minutes after adding it. Garnish with extra herbs to keep it vibrant.

3

How do I adjust the spice level?

For milder heat, remove the chili peppers before adding the stock and use 1/4 teaspoon red pepper flakes instead. To intensify the spice, keep the whole chilies in longer or add 1 extra teaspoon chili flakes at the end. For a smoky depth, toast 1/2 teaspoon coriander seeds with the aromatics. Always taste the broth before adding the fish!

4

Can I prepare this soup ahead of time?

This soup tastes even better the next day! Make the broth (without fish) up to 2 days ahead and store in an airtight container. Reheat gently, then cook the fish fresh. For longer storage, freeze the broth separately from the fish—it keeps for 3 months. Pro tip: Freeze the fish raw in the broth for a complete make-ahead meal (thaw overnight in the fridge).

5

What if I can't find galangal?

Use 1/2 cup fresh ginger plus 1/4 teaspoon turmeric for color and warmth. The turmeric mimics galangal's peppery notes while keeping the dish visually appealing. For extra depth, add 1/2 teaspoon ground coriander. If you're feeling adventurous, try 1/4 cup fresh lotus root (julienned) as a partial substitute—it adds a lovely crunch.

★★★★★4.5(6 reviews)
Categories Soups & Stews