Equipment
Ingredients
Aromatics and Spices
- 15 ml coconut oil
- 1 yellow onion, finely diced
- 3 garlic, minced
- 15 g fresh ginger, peeled and grated
- 15 g yellow curry powder
- 2 g cumin seeds
Base Liquids
- 400 g crushed tomatoes
- 500 ml fish broth
- 400 ml full-fat coconut milk
Protein and Finishing
- 500 g firm white fish fillets, cut into 3cm chunks
- kosher salt
- 1 fresh lime, juiced
- 10 g fresh cilantro, roughly chopped
Nutrition (per serving)
Nutrition is estimated per serving. Nutrients without complete source data are omitted.
Full nutrition
- Calories
- 414 kcal
- Protein
- 30 g
- Carbohydrates
- 16 g
- Fat
- 28 g
- Fiber
- 5 g
- Sugar
- 5 g
- Sodium
- 772 mg
- Saturated Fat
- 23 g
- Monounsaturated Fat
- 2 g
- Polyunsaturated Fat
- 1 g
- Cholesterol
- 55 mg
- Potassium
- 1085 mg
- Calcium
- 90 mg
- Iron
- 5.2 mg
- Magnesium
- 114 mg
- Phosphorus
- 458 mg
- Zinc
- 1.6 mg
- Vitamin A
- 27 mcg
- Vitamin C
- 12 mg
- Vitamin D
- 1.1 mcg
- Vitamin E
- 2.1 mg
- Vitamin K
- 12 mcg
- Vitamin B6
- 0.5 mg
- Vitamin B12
- 2.0 mcg
- Thiamin
- 0.20 mg
- Riboflavin
- 0.22 mg
- Niacin
- 5.0 mg
- Folate
- 38 mcg
- Water
- 351 g
Sources: Aggregated Public Data, USDA FoodData Central
Method
Prepare all vegetables and cut the fish into uniform chunks. Keeping the fish chunks evenly sized ensures they cook at the same rate.
Heat the coconut oil in a heavy-bottomed pot over medium heat. Add the diced onion and saute until translucent and softened.
Stir in the minced garlic, grated ginger, yellow curry powder, and cumin seeds. Toast the spices constantly to prevent burning until highly aromatic.
Pour in the crushed tomatoes and fish broth, scraping the bottom of the pot to lift any toasted spices. Bring the mixture to a boil, then reduce the heat to low, cover, and simmer to meld the flavors.
Uncover the pot and slowly stir in the coconut milk. Allow the soup to return to a very gentle simmer. Do not let it boil vigorously.
Gently slide the fish chunks into the simmering broth. Poach the fish gently without stirring vigorously until it is completely opaque and reaches an internal temperature of 63°C/145°F.
Remove the pot from the heat. Stir in the fresh lime juice and season with kosher salt to taste. Stir carefully to avoid breaking up the fish.
Ladle the hot soup into warmed bowls. Garnish generously with freshly chopped cilantro and serve with additional lime wedges on the side.
Chef's Notes
- For the best texture, choose firm white fish like cod, halibut, or monkfish, which hold their shape well during poaching. Avoid delicate fish like sole or flounder as they will dissolve into the broth.
- Blooming the curry powder in the hot oil alongside the aromatics extracts the fat-soluble flavor compounds, resulting in a significantly more complex and robust soup base.
- If you prefer a perfectly smooth broth, you can use an immersion blender to puree the soup after step 4, right before adding the coconut milk and fish.
- To elevate the dish, garnish with a light drizzle of chili oil, a sprinkle of toasted coconut flakes, or serve alongside warm garlic naan to soak up the creamy broth.
Storage
Refrigerator: 3 days — Store in an airtight container. The fish texture may soften slightly over time.
Freezer: 1 month — Freeze without the fish if possible, adding fresh fish when reheating, to prevent a mushy texture upon thawing.
Reheating: Reheat gently on the stovetop over medium-low heat until steaming. Do not boil, or the coconut milk may separate and the fish will overcook.
Troubleshooting
Coconut milk separates or curdles
Cause: The soup was boiled rapidly after the coconut milk was added, or the acid from the tomatoes reacted harshly at a high temperature.
Fix: Whisk vigorously off the heat. While the texture may not completely smooth out, the flavor will remain excellent.
Prevention: Maintain a gentle simmer and avoid rolling boils once coconut milk is introduced.
Fish chunks disintegrated into mush
Cause: Stirring the soup too vigorously after adding the fish, or overcooking the fish.
Fix: Cannot be fixed, but the soup will still be delicious as a thickened seafood stew.
Prevention: Poach gently, monitor the time, and only stir by gently pushing the liquid with the back of a spoon.
Broth tastes flat or overly sweet
Cause: Insufficient acidity or salt to balance the richness of the coconut milk and sweet tomatoes.
Fix: Add salt in small pinches and extra lime juice until the flavors pop.
Prevention: Taste the broth before adding the fish to check the seasoning baseline.
Cultural Context
This soup draws inspiration from coastal South Asian and Southeast Asian culinary traditions, where combining the daily catch with rich coconut milk and vibrant local spices is a staple practice. The addition of a robust tomato base introduces a Western bisque-style acidity that beautifully cuts through and balances the luxurious richness of the coconut cream.










