This velvety soup combines tender white fish with rich coconut milk and bright lime zest. The aromatic base starts with sautéed onions, garlic, and fresh ginger, complemented by colorful vegetables like red bell pepper, carrots, and celery. A splash of fish sauce and soy sauce adds depth, while fresh chili brings optional warmth. Ready in just 35 minutes, this Southeast Asian-inspired bowl delivers restaurant-quality results with minimal effort. The finish of fresh lime juice and zest creates perfect balance against the creamy coconut base.
The first time I made this soup, it was a rainy Tuesday and I was craving something that felt like sunshine in a bowl. I had some white fish languishing in the freezer and a can of coconut milk I'd bought on impulse, and honestly, the result was so good I've been making it on repeat ever since. There's something magical about how the creamy coconut balances against that sharp hit of lime, like a tropical vacation showing up unexpectedly in your kitchen.
I served this to my sister last winter when she was recovering from the flu, and she literally asked if I could bring her a batch every week. The ginger and lime hit different when you're under the weather, and the tender fish just melts in your mouth without any effort on your part. Now it's become our go-to comfort soup, even though it started as an experiment.
Ingredients
- White fish fillets (500 g): Choose firm white fish like cod or halibut that won't fall apart during simmering. Cutting them into uniform bite-sized pieces ensures even cooking.
- Coconut milk (400 ml): Full-fat coconut milk creates that silky, restaurant-quality texture. Light coconut milk works but the broth won't be as rich and luxurious.
- Fish stock (750 ml): Homemade stock adds depth, but quality store-bought works fine. Vegetable stock keeps it completely pescatarian-friendly.
- Fresh ginger and garlic: These aromatics form the flavor foundation. Fresh ginger beats ground powder every time for that bright, spicy kick.
- Red bell pepper: Adds sweetness and vibrant color. The pepper softens beautifully in the broth, almost melting into the soup.
- Lime juice and zest (2 limes): The lime cuts through the coconut richness and brightens everything. Zest packs more aromatic punch than juice alone.
- Fish sauce: Don't skip this! It adds umami depth that makes the soup taste complex and well-rounded, not fishy at all.
Instructions
- Build your aromatic base:
- Heat a splash of oil in your large pot over medium heat. Toss in the chopped onion and let it soften until translucent, about 3 minutes. You're not browning it, just waking up those sweet flavors.
- Add the fragrance:
- Throw in your garlic, ginger, celery, carrots, and bell pepper. Cook for 4-5 minutes, stirring occasionally, until vegetables start to soften and your kitchen smells amazing.
- Create the broth:
- Pour in the fish stock and bring everything to a gentle simmer. Let those vegetables hang out in the hot stock for a minute to infuse their flavors.
- Stir in the coconut:
- Add the coconut milk, fish sauce, soy sauce, sugar, salt, pepper, and sliced chili if you're using it. Stir well and let the broth get hot and fragrant.
- Gently cook the fish:
- Slide in those bite-sized fish pieces and simmer for 7-8 minutes. The fish should turn opaque and flake easily. Don't boil it vigorously or the fish will get tough.
- Finish with brightness:
- Stir in the lime juice and zest right at the end. Taste your soup and adjust the seasoning if needed. The acid might need a pinch more salt to balance.
- Garnish and serve:
- Ladle the hot soup into bowls and scatter green onions and fresh cilantro on top. Serve immediately while the fish is perfectly tender.
This soup became a regular at our small dinner gatherings after I served it on a particularly gloomy March evening when everyone needed cheering up. Something about the combination of warm broth and fresh, bright flavors just turns a regular Tuesday into something special.
Make It Your Own
The beauty of this soup is how adaptable it is while staying true to its character. I've swapped in shrimp when white fish wasn't available, and honestly, the sweetness of shrimp plays beautifully with the coconut. Extra-firm tofu works too, turning it into a completely different but equally satisfying meal.
Serving Suggestions
While this soup is substantial enough to stand alone, I love serving it over steamed jasmine rice for a heartier meal. The rice soaks up that fragrant broth, and suddenly it's a complete comfort feast. Rice noodles work brilliantly too, especially on days when you want something lighter and quicker.
Secrets from My Kitchen
Adding a bruised lemongrass stalk to the broth and removing it before serving creates this subtle, floral backbone that people can never quite identify but absolutely love. If you want extra depth, try toasting your spices in the oil before adding the onions. The bloomed spices release their essential oils and make everything taste more vibrant.
- Prep all ingredients before you start cooking once the fish goes in, things move quickly
- Let the soup rest for 5 minutes off heat before serving to let flavors meld
- Double the batch because this reheats beautifully for lunch the next day
There's nothing quite like watching someone take that first spoonful, their eyes lighting up as the creamy coconut and zesty lime hit them simultaneously. This soup is pure comfort food that manages to feel special enough for guests but simple enough for any random weeknight.
Recipe Q&A
- → What fish works best?
-
White fish fillets like cod, halibut, or tilapia are ideal. They hold their shape well in the hot broth and cook quickly without becoming tough or dry.
- → Can I make it dairy-free?
-
Absolutely. This soup uses coconut milk instead of dairy cream, making it naturally dairy-free while still achieving that luxurious creamy texture.
- → How spicy is this soup?
-
The heat level is customizable. The small red chili adds mild warmth, but you can increase the amount or leave it out entirely based on your preference.
- → What should I serve with it?
-
Steamed jasmine rice or rice noodles make excellent accompaniments. They soak up the flavorful broth and transform this into a more substantial meal.
- → Can I use shrimp instead?
-
Yes. Shrimp work beautifully and cook even faster than fish. Add them during the last 3-4 minutes of simmering to prevent overcooking.
- → How long do leftovers keep?
-
Store in an airtight container for up to 2 days. Reheat gently over low heat to avoid separating the coconut milk.