
This coconut lime fish soup delivers the perfect balance of rich, creamy broth with bright citrus notes and tender fish. The Thai-inspired flavors transform simple ingredients into a restaurant-worthy dish that's surprisingly easy to make at home.
I first created this soup when craving something both comforting and refreshing during a rainy weekend. The combination of creamy coconut with zingy lime has since become my go to remedy for dreary days or whenever I need a quick but special meal for unexpected guests.
Ingredients
- White fish fillets The mild flavor allows the aromatic broth to shine. Look for firm varieties like cod tilapia or halibut.
- Vegetable oil Use a neutral oil that won't compete with the delicate flavors.
- Onion Forms the foundation of flavor. Choose yellow or white varieties for their sweetness when cooked.
- Garlic Fresh cloves provide essential aromatic depth. Mince just before using for maximum potency.
- Ginger Adds warmth and complexity. Select firm pieces with smooth skin for best flavor.
- Red bell pepper Provides color and subtle sweetness. Choose vibrant peppers with tight glossy skin.
- Coconut milk Full fat variety delivers the richest texture. Shake well before opening to incorporate cream.
- Fish stock or chicken broth Homemade stock elevates the flavor but quality store bought works well too.
- Fish sauce Adds umami depth essential to authentic flavor. Look for Thai brands like Red Boat or Three Crabs.
- Limes Both zest and juice brighten the entire dish. Choose heavy fruits with thin smooth skin.
- Sugar Just a touch balances the acidity. Use palm sugar for authenticity or regular granulated sugar.
- Red chilies Adjust quantity to your heat preference. Remove seeds for milder flavor.
- Cherry tomatoes Add bursts of sweetness and acidity. Select ripe varieties for best flavor.
- Fresh cilantro and basil These herbs are crucial for authentic finish. Use Thai basil if available.
Step-by-Step Instructions
- Create the Aromatic Base
- Cook the chopped onion in vegetable oil over medium heat for about 5 minutes until translucent and soft but not browned. This creates a sweet foundation for the soup. Add the minced garlic ginger and sliced chilies continuing to cook for another 1 to 2 minutes until intensely fragrant but not burned. Keep stirring constantly during this step to prevent scorching.
- Build the Broth
- Pour in the coconut milk and stock or broth stirring well to combine. Add the fish sauce lime zest juice and sugar. Stir thoroughly to incorporate all ingredients. Bring the mixture to a gentle simmer over medium low heat about 5 minutes. The broth should steam but not boil vigorously.
- Add Vegetables
- Introduce the sliced red bell peppers and halved cherry tomatoes to the simmering broth. Allow them to cook for 5 to 7 minutes maintaining a gentle simmer. The peppers should become tender crisp and the tomatoes should just begin to soften but still hold their shape. This maintains textural contrast in the finished soup.
- Cook the Fish
- Gently slide the fish pieces into the simmering broth ensuring they are fully submerged. Cook for 5 to 7 minutes depending on thickness until the fish turns opaque and flakes easily with a fork. Avoid stirring aggressively which can break the delicate fish cook by gently spooning hot broth over any exposed pieces.
- Finish and Serve
- Taste the broth and adjust seasonings adding more fish sauce for saltiness lime juice for brightness or sugar for balance. Remove from heat and let rest for 1 to 2 minutes. Generously scatter fresh cilantro and basil leaves over the top. Serve immediately in warmed bowls with additional lime wedges on the side.

The fish sauce is truly the secret ingredient in this recipe. While its aroma might seem intense when cooking the final result adds an irreplaceable savory depth that makes this soup taste authentic. The first time I served this to my seafood skeptical friend he asked for seconds and the recipe immediately after finishing his bowl.
Make Ahead Options
The broth base of this soup can be prepared up to two days in advance and refrigerated making this perfect for entertaining. Simply reheat the broth until simmering then add the fish just before serving. This approach ensures the fish remains perfectly tender rather than overcooked. The flavors actually develop and harmonize overnight making this an excellent prepare ahead option.
Regional Variations
This versatile soup appears in different forms throughout Southeast Asia. In Thailand you might find it with additional lemongrass and makrut lime leaves. Malaysian versions often include tamarind for extra sourness while Vietnamese adaptations might incorporate more fresh herbs and bean sprouts. Feel free to experiment with these regional additions to discover your favorite variation of this adaptable recipe.
Serving Suggestions
Transform this soup into a complete meal by serving with steamed jasmine rice on the side. For a beautiful presentation place a small mound of rice in each bowl before ladling the soup around it. Alternatively offer crispy wonton strips prawn crackers or warm roti bread for dipping. A small side of quick pickled cucumber makes a refreshing counterpoint to the rich broth.
Ingredient Substitutions
No need to make a special trip to the store if you're missing something. Shrimp or scallops work beautifully in place of white fish just reduce the cooking time to 2 to 3 minutes. Vegetable broth can substitute for fish stock for a milder flavor base. Light coconut milk works if watching calories though the broth will be thinner. In a pinch bottled lime juice can replace fresh just use slightly less and add extra zest.

Recipe FAQs
- → What fish works best for this soup?
Any firm white fish works well - cod, halibut, tilapia, or snapper are excellent choices. Look for fish that will hold its shape during cooking without falling apart. For a budget option, tilapia or cod are perfect, while halibut offers a more premium result.
- → Can I make this soup ahead of time?
Yes, but with a modification: prepare the broth with all ingredients except the fish and store refrigerated for up to 2 days. When ready to serve, reheat the broth to a simmer and add the fresh fish pieces to cook just before serving. This ensures the fish maintains its perfect texture.
- → How can I adjust the spiciness?
Control the heat by adjusting the amount of fresh chilies. For mild flavor, remove the seeds and use just half a chili. For medium heat, use one whole chili with seeds. For those who enjoy spicy food, use two chilies with seeds, or add a teaspoon of sambal oelek or sriracha.
- → What can I substitute for fish sauce?
While fish sauce provides unique umami depth, you can substitute with 2 tablespoons of soy sauce mixed with 1/2 teaspoon of lime juice. Alternatively, use Worcestershire sauce in equal amounts, though the flavor profile will be slightly different.
- → What are good side dishes to serve with this soup?
This soup pairs beautifully with steamed jasmine rice to soak up the flavorful broth. A simple cucumber salad with rice vinegar dressing offers a refreshing contrast. For a complete meal, add spring rolls or a crisp Asian slaw with sesame dressing.
- → Can I use light coconut milk instead of regular?
Yes, light coconut milk works but will produce a thinner broth with less richness. To maintain some creaminess while reducing calories, use half regular coconut milk and half light coconut milk, or add a tablespoon of cornstarch slurry to thicken the light coconut milk.