Soups & Stews
This basa fish soup recipe transforms humble ingredients into a fragrant, velvety masterpiece that balances aromatic lemongrass with the earthy kick of galangal.
The secret lies in slow-simmered broth that infuses every spoonful with complex layers of flavor—bright citrus notes from lime, subtle heat from chili, and the unmistakable umami depth of shrimp paste.
What makes this recipe work is the careful balance of textures: tender basa fillets, silky egg drops, and crisp bean sprouts that cut through the richness.
The foundation begins with a fragrant paste of lemongrass, galangal, and garlic that forms the soul of the soup.
Unlike many recipes that rush the process, this version requires patience—letting the aromatics bloom in hot oil before adding coconut milk creates a velouté so smooth it practically melts on the tongue.
The broth builds gradually, layering in fish stock and lime juice until it achieves that perfect harmony of tangy, savory, and slightly sweet.
By the time you're ready to serve, you'll have a steaming bowl of basa fish soup where each element plays its part: flaky white fish that absorbs the broth's flavors, delicate egg ribbons that add protein, and fresh herbs that provide a bright finish.
The galangal-infused broth delivers restaurant-quality depth without requiring specialty ingredients—just thoughtful preparation and a little time. This is comfort food at its finest, perfect for chilly evenings or when you crave something both nourishing and deeply satisfying.
For those who want to elevate it further, consider adding a drizzle of chili oil or a sprinkle of fried shallots before serving. The soup keeps beautifully in the refrigerator for up to three days, allowing the flavors to deepen with each passing hour.
Whether you're cooking for family or treating yourself, this recipe delivers the kind of soul-warming meal that feels like a hug in a bowl.
Ingredients for basa fish soup
These aromatic ingredients create a velvety soup where lemongrass and galangal shine alongside delicate fish.
| Ingredient | Amount | Notes |
|---|---|---|
| Basa Fish Fillets 🐟 | 1 ½ lb | Skinless, boneless, cut into 4 pieces |
| Lemongrass 🌿 | 1 whole | Fresh, bottom 6 inches only |
| Galangal 🌿 | 3 oz | Fresh, peeled, sliced thin |
| Garlic Cloves 🧄 | 6 cloves | Fresh, peeled, minced |
| Shrimp Paste 🦐 | 1 tbsp | Red or white variety |
| Coconut Milk 🥥 | 1 ½ cups | Full-fat, canned, shaken |
| Fish Stock 💧 | 3 cups | Homemade or quality store-bought |
| Lime Juice 🍋 | ¼ cup | Freshly squeezed |
| Eggs 🥚 | 4 whole | Fresh, cold, for ribboning |
| Bean Sprouts 🌱 | 2 cups | Fresh, rinsed and drained |
| Fresh Thai Basil Leaves 🌿 | ¼ cup | Chopped, for garnish |
| Red Chili Peppers 🌶️ | 2 whole | Bird's eye or Thai, sliced thin |
| Vegetable Oil 🫒 | ¼ cup | For blooming aromatics |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| White Peppercorns 🌶️ | ½ tsp | Freshly ground |
The galangal and lemongrass are non-negotiable—they deliver that signature depth. Asian markets carry the freshest galangal, often in the produce section near the ginger. Look for firm, pale rhizomes with minimal bruising. If you can't find galangal, extra ginger at double the amount works in a pinch, though it won't be identical. For lemongrass, the stalks should be tight and vibrant—avoid any that feel woody or dried out. Shrimp paste is the umami secret weapon; Thai Kitchen brand is widely available and reliable, but check the ingredients list for additives if you prefer pure shrimp paste.
No fresh galangal? Galangal powder at half the amount adds some depth, but you'll miss the texture. Swap Thai basil for regular basil if needed, though the flavor won't be quite the same. The coconut milk should be full-fat for that creamy velouté texture—no substitutions here. For the fish stock, homemade is ideal, but Knorr or Pacific brand are solid store-bought options. If you're using canned fish stock, dilute it with water to avoid overpowering the broth. The bean sprouts can be subbed with shredded cabbage or watercress if they're not in season, but they add that essential crunch.
This soup tastes even better the next day as flavors meld. Store in an airtight container in the fridge for up to 3 days. For longer storage, freeze the broth separately from the fish and bean sprouts—reheat the broth first, then add the fish and greens. The egg ribbons cook in seconds, so keep them separate until serving. If you're prepping ahead, make the aromatic paste (lemongrass, galangal, garlic) and store it in the freezer for up to 1 month—just thaw and add directly to the pot.
Why You'll Love This Recipe
- One-Pot Magic: Between us, this soup comes together in a single pot—no chopping mountains of veggies, no last-minute pan juggling. Just toss in the lemongrass, galangal, and shrimp paste, let it bloom, then add the basa. That’s it. Honestly, I’ve made it while scrolling through emails.
- Umami Bomb: The shrimp paste and galangal give it this deep, savory punch that lingers. Not too fishy, not too bland—just that perfect balance where every spoonful tastes like a hug from a Southeast Asian kitchen. (Yes, even on a Tuesday night.)
- Weeknight Workhorse: I keep this in my rotation for lazy Mondays, unexpected guests, or when I need to feed my college kid on a budget. The basa stays tender, the broth’s rich enough to stretch for leftovers, and it’s the kind of thing that makes people ask, “What’s in this?”
- Budget-Friendly Luxury: Basa is cheaper than snapper but tastes just as good when you nail the aromatics. A single lemongrass stalk and a thumb-sized galangal root go a long way—no need to buy specialty ingredients. My daughter picks out the fish bones, but she still asks for seconds. Not the prettiest, but the taste makes up for it.
Step-by-step instructions for fragrant lemongrass and galangal basa fish soup
This method builds layers of aromatic complexity while keeping the delicate fish tender.
Bloom the Aromatics in Vegetable Oil
Heat the 0.25 cup vegetable oil in a large pot over medium heat until shimmering. Add the 3 oz sliced galangal and 6 cloves minced garlic, stirring constantly for 2 minutes until fragrant. The galangal should release its citrusy aroma while the garlic turns golden without browning.
Next, add the 1 tbsp shrimp paste and stir for 30 seconds until it dissolves completely and emits its pungent, umami-rich scent. This step forms the aromatic base that will infuse every spoonful of your soup. If the shrimp paste sticks, add 1 tablespoon fish stock to help it release its flavor.
Develop the Velouté Base
Pour in the 3 cups fish stock and bring to a gentle simmer over medium-low heat. Add the 1.5 cups coconut milk and stir to combine, then reduce heat to maintain a barely simmering state. This gentle cooking prevents the coconut milk from curdling while allowing the flavors to meld.
Simmer uncovered for 10 minutes until the broth reduces slightly and develops a velvety texture. You'll notice the galangal and garlic flavors deepen as they infuse into the liquid. Stir occasionally to prevent any milk solids from settling at the bottom.
Prepare and Add the Egg Ribbons
While the broth simmers, prepare the 4 whole eggs by cracking them into a bowl and whisking lightly. Here's the technique: slowly drizzle in 0.25 cup lime juice while whisking continuously to create a bright, citrusy egg mixture. The acidity will prevent the eggs from curdling when added to the hot broth.
Gently ladle 1 cup hot broth from the pot into the egg mixture while whisking constantly. This tempering step is crucial—it creates silky egg ribbons that will transform your soup. Return the egg mixture to the pot and stir gently for 2 minutes until the eggs form delicate ribbons throughout the broth.
Cook the Basa Fish to Perfect Tenderness
Add the 1.5 lb basa fish fillets to the pot and simmer gently for 8-10 minutes until the fish is just cooked through. You'll know it's done when it flakes easily with a fork but remains slightly translucent in the center—overcooking makes basa fish dry and rubbery.
Season with 1.5 tsp salt and 0.5 tsp white peppercorns, stirring gently to distribute the seasoning evenly. The fish should absorb these flavors quickly, enhancing its natural mild sweetness. Remove the fish to a plate and keep warm.
Finish and Assemble the Soup
Return the broth to a gentle simmer and stir in the 1 whole lemongrass (cut into 2-inch pieces) and 2 sliced red chili peppers for 2 minutes to infuse the final layers of aroma. Add the 2 cups bean sprouts and cook for 1 minute until just wilted but still crisp.
Return the fish to the pot and stir gently. Ladle the soup into bowls, garnishing each serving with 0.25 cup chopped fresh Thai basil leaves. The basil adds a fresh, slightly peppery contrast to the rich, aromatic broth. Serve immediately with steamed jasmine rice to soak up every delicious drop.
Pro Tips For Making Basa Fish Soup
- BLEND THE SHRIMP PASTE FIRST: Toss the shrimp paste into the hot oil before adding garlic or galangal—let it sizzle for 30 seconds until it darkens slightly. I learned this the hard way: skipping this step means your soup tastes like raw shrimp paste fought with everything else. The aroma alone changes the whole dish.
- SLICE THE GALANGAL THIN: Use a mandoline or sharp knife to cut galangal into paper-thin slices (about 1mm thick). Thicker pieces turn to mush and make the broth bitter. Sounds tedious, but trust me—your soup will taste brighter and more aromatic.
- DON’T OVERCOOK THE FISH: Basa flakes apart in 3-4 minutes max—set a timer. If you let it sit longer, it turns to rubber. Pull it out when the edges just curl, then add it back at the end to reheat briefly. (Yes, even if you’re impatient like me.)
- USE FROZEN LEMONGRASS STALKS: Frozen lemongrass works just as well as fresh, and it’s a game-changer for prep. Just thaw and slice—no chopping, no waste. I used to buy fresh, but now I keep a bag in the freezer for lazy days. The flavor’s identical, and the broth stays cleaner.
Serving suggestions for leftovers
Garnish Game-Changers
Fresh Thai basil is non-negotiable—its anise-like aroma cuts through the richness beautifully. I like to add ¼ cup chopped leaves per bowl right before serving, letting the steam release their fragrance.
For extra flair, sprinkle toasted coconut flakes (toast 2 tbsp unsweetened coconut flakes in a dry pan for 2 minutes) over each serving—they add a delightful crunch and complement the coconut milk beautifully. 🌿
Crunchy Contrasts
Bean sprouts are essential for texture, but don't stop there. Add ¼ cup sliced cucumber or thinly sliced radishes to each bowl—their cool crunch balances the warm broth. I also keep a small bowl of fried shallots (store-bought or homemade) on the table so guests can sprinkle them at will.
For heat lovers, serve chili oil (like Lao Gan Ma brand) on the side for a fiery finish.
Rice Pairing Perfection
Steamed jasmine rice is the classic choice, but don't limit yourself. For a heartier meal, serve with rice noodles (soak 8 oz rice noodles for 15 minutes then drain). I also love pairing this soup with crispy spring rolls or pork summer rolls for a full Vietnamese-inspired spread.
The noodles or rice should be served on the side so everyone can customize their portion.
Dipping Sauce Magic
Create a simple dipping sauce by mixing 2 tbsp hoisin sauce, 1 tbsp rice vinegar, 1 tsp sesame oil, and ½ tsp sugar. This sweet-savory sauce elevates every bite of the fish and noodles.
For a spicy variation, blend 1 tbsp sambal oelek with 1 tbsp lime juice and 1 tsp honey—it's perfect for dipping or stirring into the soup at the table. 🌶️
Beverage Pairings
Cold Thai iced tea (like Ocha brand) is my go-to beverage—its creamy sweetness complements the soup's aromatic depth. For alcohol lovers, a crisp Sauvignon Blanc from New Zealand enhances the citrus notes, while a light Vietnamese bia hoi (fresh lager) keeps things refreshing.
Avoid heavy wines or dark beers that might overpower the delicate flavors. 🍷
Make-Ahead Serving
This soup tastes even better the next day! Store it in an airtight container in the fridge for up to 3 days. When reheating, warm the broth gently on the stovetop (don't boil) and add the fish and bean sprouts just before serving to maintain their texture.
For a quick assembly, keep the fish and garnishes separate until serving—just reheat the broth and combine everything at the table. ✨
Nutrition facts
Frequently asked questions
Can I substitute basa fish with another type of fish?
Yes, but choose wisely! For best results, use firm white fish like cod, halibut, or mahi-mahi that hold up well in broth. Avoid delicate fish like tilapia or snapper—they can turn mushy. If you're using frozen basa, thaw it completely in the fridge overnight for even cooking.
What's the secret to getting that authentic aromatic flavor?
Blooming the galangal and lemongrass in hot oil for 2 minutes is key! This releases their essential oils before adding liquid. Don't skip the shrimp paste—it adds that unmistakable umami depth. For extra aroma, add a 1-inch piece of turmeric with the galangal (remove before serving).
Why did my coconut milk curdle in the soup?
This happens when the broth gets too hot or acidic. Keep the heat at a gentle simmer after adding coconut milk, and never let it boil. If it curdles, strain through a fine-mesh sieve to salvage the broth. For next time, whisk in the coconut milk gradually while stirring constantly.
Can I make this soup vegetarian?
Replace the fish with extra-firm tofu (cut into cubes and pan-fried first) or mushrooms (shiitake or oyster). Skip the shrimp paste and use vegetable stock instead of fish stock. The egg ribbons will still add protein, and the aromatic base remains the same—just omit the fish garnish.
How spicy should this soup be?
The recipe includes 2 sliced red chili peppers for mild heat—adjust to taste! For more spice, add 1 extra chili or serve with chili oil on the side. If you prefer no heat, simply omit the chili peppers entirely. The galangal already provides a natural peppery kick without any spiciness.
