
A fragrant coconut curry soup brings together tender pieces of wild-caught fish, aromatic spices, and fresh vegetables in a creamy, golden broth. Full-fat coconut milk provides richness without dairy or flour, while ginger, garlic, turmeric, and coriander give the soup its warm, savory character. A splash of fresh lime juice added just before serving balances the coconut’s richness and brings the other flavors into focus.
This version draws inspiration from coconut-based fish curries while using ingredients commonly preferred in low-lectin cooking. Rather than relying on prepared curry pastes that may contain chili peppers, tomato products, or other ingredients some readers choose to limit, the broth develops its flavor from individual spices. The combination produces a mild curry soup with enough aromatic depth to complement the fish without overwhelming its delicate flavor.
Everything comes together in a single pot, making this a practical option for a weekday dinner. The vegetables simmer in the seasoned coconut broth before the fish is added, allowing each ingredient to cook at an appropriate pace. Adding the seafood near the end helps preserve its tender texture while preventing the extended simmering that can cause white fish to become dry or fall apart.
Wild-Caught Fish & Coconut Curry Soup (Low-Lectin)
Ingredients
- 1¼ pounds wild-caught cod, haddock, or pollock, boneless, skinless, and fully thawed if previously frozen
- 1 tablespoon avocado oil
- 1 medium yellow onion, finely chopped (approximately 1 cup)
- 2 garlic cloves, minced
- 1 tablespoon freshly grated ginger
- 1 teaspoon ground turmeric
- 1 teaspoon ground coriander
- ½ teaspoon ground cumin
- 1 large carrot, peeled and sliced into thin half-moons (approximately ¾ cup)
- 1 can (13.5 fluid ounces) unsweetened full-fat coconut milk, stirred until smooth
- 2 cups unsalted fish stock or low-sodium vegetable broth
- 1 medium zucchini, peeled, deseeded, and cut into ½-inch pieces (approximately 1½ cups)
- 2 cups loosely packed fresh baby spinach (approximately 2 ounces), washed and dried
- 2 tablespoons freshly squeezed lime juice
- ½ teaspoon fine sea salt, plus additional salt to taste
- Optional Garnish: 2 tablespoons freshly chopped cilantro

Instructions
- Prepare the ingredients. Before beginning, chop the onion, mince the garlic, grate the ginger, and prepare the carrot and zucchini. Measure the spices and other ingredients so they are ready when needed. Keep the fish refrigerated while preparing the vegetables.
- Cut the fish. Pat the fish dry with paper towels and check for any remaining bones. Cut it into approximately 1½-inch pieces, keeping them as uniform in thickness as practical. Return the prepared fish to the refrigerator until needed, and wash your hands and any utensils or surfaces that contacted the raw seafood.
- Sauté the onion. Heat the avocado oil in a large, heavy-bottomed saucepan or Dutch oven over medium heat. Add the chopped onion and cook for approximately 4 minutes, stirring occasionally, until softened and beginning to turn translucent.
- Add the aromatics. Stir in the minced garlic and grated ginger. Cook for approximately 1 minute, stirring frequently to prevent the garlic from browning.
- Bloom the spices. Add the turmeric, coriander, and cumin. Stir continuously for approximately 30 seconds, allowing the spices to warm in the oil and release their aromas. If the mixture begins to stick or darken rapidly, reduce the heat.
- Build the coconut broth. Pour in the fish stock or vegetable broth, stirring to loosen any aromatic mixture from the bottom of the pot. Add the coconut milk, sliced carrots, and ½ teaspoon sea salt. Stir until the coconut milk is evenly incorporated, then increase the heat as needed to bring the liquid to a gentle simmer.
- Cook the carrots. Reduce the heat to medium-low and simmer uncovered for approximately 7 minutes, stirring occasionally. Keep the broth at a gentle simmer rather than a vigorous boil. The carrots should begin to soften while retaining some firmness.
- Add the zucchini. Stir the prepared zucchini into the broth and continue simmering for approximately 3 minutes. The pieces should begin to soften but remain firm enough to hold their shape during the remaining cooking time.
- Cook the fish. Gently lower the fish pieces into the simmering broth, arranging them in an even layer and making sure they are submerged. Maintain a gentle simmer for approximately 6 to 10 minutes, depending on the thickness of the pieces. Avoid vigorous stirring, which can break apart delicate fish. Check the thickest pieces with an instant-read food thermometer and continue cooking until their centers reach 145°F (63°C).
- Finish the soup. Add the baby spinach and gently press it into the hot broth. Allow approximately 1 minute for the leaves to wilt, then turn off the heat and stir in the fresh lime juice. Taste the broth and adjust the salt if necessary.
- Serve immediately. Ladle the soup into four bowls, distributing the fish and vegetables evenly. Garnish with freshly chopped cilantro if desired, and serve while hot.
Advance Preparation Note: If using frozen fish, allow it to thaw completely in the refrigerator before beginning the recipe. This may require overnight refrigeration and is not included in the 50-minute preparation and cooking estimate. Remove vacuum-sealed fish completely from its packaging before refrigerator thawing, and keep it covered in a separate container to prevent contact with other foods.
Choosing the Right Wild-Caught Fish
Fish selection has a noticeable effect on the finished soup, particularly its texture. Cod, haddock, and pollock are suitable choices because their relatively mild flavors complement coconut milk and curry spices. Their flesh becomes tender during gentle cooking, although each variety differs somewhat in firmness and how easily it separates into flakes.
Cod has a mild flavor and typically separates into relatively large flakes when cooked. Haddock has a slightly more pronounced taste and a delicate texture, while pollock tends to be softer and may break apart more readily. Keeping the pieces reasonably large helps preserve their structure, especially when using a more delicate variety.
Wild-caught fish is the intended choice for this recipe, but harvesting method alone does not establish freshness, quality, or nutritional superiority. Species, handling, storage, and the condition of the fish when purchased also matter. Properly handled frozen fish is often a practical choice, particularly when fresh seafood of comparable quality is unavailable.
When purchasing frozen fillets, look for packages without obvious signs of damage or excessive ice buildup. Frozen fish should remain frozen until it is ready for safe thawing, and raw fish should never be thawed on the kitchen counter. Keeping it cold throughout preparation helps limit bacterial growth and protects the quality of the flesh.
Why Coconut Milk Works in Fish Curry
Full-fat coconut milk gives this soup its characteristic richness and creamy mouthfeel. Its fat content contributes body without requiring dairy, flour, or a separate thickening step. The coconut flavor also provides a mellow background for the ginger and spices, preventing the broth from becoming excessively sharp.
Canned, unsweetened coconut milk is particularly suitable because it generally has a higher concentration of coconut fat than the diluted coconut beverages sold in refrigerated cartons. Products labeled as coconut beverages often produce a much thinner soup, even when the same volume is used. For this recipe, a standard can of full-fat coconut milk creates a richer base that can be balanced with stock.
Coconut milk sometimes separates during storage, with thicker cream collecting above a thinner liquid layer. This is normal, and stirring the contents before adding them to the pot helps distribute the fat more evenly. Products containing stabilizers may resist separation, while simpler formulations made primarily from coconut and water may need more stirring.
Cooking temperature also influences the broth’s appearance and consistency. A gentle simmer allows the vegetables and fish to cook without prolonged exposure to vigorous boiling, which can encourage visible fat separation in coconut-based soups. Adding the lime juice after turning off the heat preserves its fresh acidity and avoids unnecessary additional cooking.
Building Curry Flavor Without Prepared Curry Paste
Many prepared curry pastes contain chili peppers, tomato products, or other nightshade ingredients that some low-lectin dietary approaches restrict. Using individual spices makes it easier to select the ingredients and control the intensity of the seasoning. The resulting flavor is milder than many traditional hot curries, with emphasis on warmth and aroma rather than pronounced heat.
Turmeric contributes an earthy quality and gives the broth its golden appearance. Ground coriander adds a slightly citrus-like flavor that complements seafood, while cumin supplies a deeper savory note. Fresh ginger introduces a sharper character that balances the coconut milk, and garlic rounds out the aromatic base.
Briefly warming the ground spices in oil is known as blooming. Heat helps release aromatic compounds into the cooking fat, allowing the seasonings to disperse through the broth when the liquid is added. Since ground spices can burn quickly, approximately 30 seconds of stirring is generally sufficient before introducing the stock.
Readers who tolerate nightshade peppers can add a small amount of chopped fresh chili or chili flakes for a hotter variation. Those avoiding peppers can increase the fresh ginger slightly, although its sharpness differs from the heat of chili. Either change is best made conservatively so the seasoning does not overpower the relatively mild fish.
How This Soup Fits a Low-Lectin Approach
The low-lectin approach in this recipe is reflected primarily in ingredient selection. Fish supplies the main protein component without requiring legumes or soy-based alternatives, while coconut milk creates a rich broth without wheat-based thickeners. The vegetable selection also avoids tomatoes and peppers, which are commonly restricted in some versions of low-lectin eating.
The zucchini is peeled and deseeded as a preparation preference rather than a scientifically established method of eliminating all lectins. Removing the skin and seeds changes the vegetable’s composition, but the extent to which this affects measurable lectin activity is not well established for ordinary zucchini preparations. Young zucchini typically contain smaller, softer seeds, while mature specimens may have a more noticeable central seed cavity.
Carrots and spinach contribute different textures that work well with the coconut broth. Carrots remain slightly firm after simmering, providing contrast to the tender fish, while spinach wilts quickly without requiring a separate cooking stage. Their preparation is straightforward, and neither vegetable needs prolonged boiling or specialized equipment for this recipe.
Lectins are a diverse group of carbohydrate-binding proteins whose properties vary among foods. While proper cooking can substantially reduce the activity of certain lectins, particularly those associated with improperly prepared beans, those findings do not establish a universal effect for every ingredient or cooking method. This soup follows a particular dietary ingredient preference without claiming that the finished dish is entirely free of lectins or that eating it produces a specific medical benefit.
Keeping the Fish Tender During Cooking
One of the most common problems with fish soups is overcooking the seafood while waiting for the vegetables to become tender. White fish has delicate muscle tissue that separates into flakes as it cooks, and extended exposure to heat can cause the pieces to become dry or disintegrate. Giving the carrots and zucchini a head start allows the fish to cook during the final minutes.
Uniformly sized pieces make it easier to achieve consistent doneness, particularly when the original fillets have uneven thickness. Thin tail sections may cook more quickly than thicker center portions, so folding thin sections into larger pieces or adding them slightly later can help prevent overcooking. Keeping the broth at a gentle simmer also reduces the movement that can break apart fragile fish.
Although opaque flesh and easy flaking are useful visual signs of doneness, checking the internal temperature is more reliable. The thickest pieces should reach 145°F before serving. For smaller pieces, carefully lift one with a spoon and insert an instant-read thermometer into its center from the side when necessary.
Once the fish is fully cooked, it is best to serve the soup without leaving it simmering on the stove. The surrounding liquid retains considerable heat and will continue warming the seafood after the burner is turned off. Adding the spinach and lime near the end keeps this additional cooking period brief.
Practical Ingredient Substitutions
Several ingredients can be changed without losing the soup’s basic coconut curry character. The most successful adjustments account for the replacement ingredient’s flavor, texture, moisture content, and cooking requirements.
Alternative Fish Varieties
Wild-caught halibut is a suitable replacement for cod when a firmer fish texture is preferred. Its dense flesh tends to hold together well during gentle simmering, although cooking time still depends on the thickness of the pieces. It also has a mild flavor that works with the coconut and spices.
Salmon creates a richer variation with a more pronounced seafood flavor. Because salmon contains more fat than the white fish used in the original recipe, the finished soup will taste noticeably different. Cut it into similarly sized pieces and use the same 145°F internal temperature target, adjusting the cooking time as needed.
Vegetable Alternatives
Baby bok choy can replace the spinach for a slightly different texture. Its stems remain firmer than its leaves, so slice them thinly and add them with the zucchini. The leafy portions can be added during the final minute of cooking.
Cauliflower florets also work in place of zucchini, but they require additional cooking time. Cut them into small, similarly sized pieces and add them with the carrots rather than waiting until the final vegetable stage. This allows the cauliflower to become tender without extending the fish’s cooking time.
Broth and Coconut Milk Adjustments
Unsalted fish stock produces a more pronounced seafood flavor, while low-sodium vegetable broth gives the soup a milder base. Both work with the coconut milk and spice combination. If using a seasoned or salted stock, reduce the initially added salt and adjust the seasoning after the broth has developed.
Light coconut milk can replace full-fat coconut milk when a thinner soup is preferred. Because it contains less fat, the finished broth will have less body and a lighter mouthfeel. A more moderate adjustment is to replace part of the full-fat coconut milk with additional stock, although this will also reduce the coconut flavor.
Serving Suggestions and Finishing Touches
The fish, vegetables, and coconut broth make this soup substantial enough to serve on its own. For a more filling meal, it can be accompanied by a portion of cooked white rice if rice is included in the reader’s preferred eating approach. Serving the rice separately allows each person to control the amount and prevents the grains from absorbing too much broth before the meal is served.
Fresh lime juice plays a useful role in balancing the coconut milk, particularly when the soup tastes slightly too rich. The recipe includes two tablespoons, but the final amount can be adjusted gradually according to the acidity of the limes and the flavor of the stock. Adding too much at once can overwhelm the delicate fish.
Cilantro contributes a fresh herbal character that works naturally with ginger and coriander. Chopped flat-leaf parsley offers a milder alternative for those who dislike cilantro, although the finished flavor will be different. Either garnish is best added just before serving rather than simmered in the broth.
Wide, shallow bowls make it easier to distribute the fish without breaking the pieces apart. When portioning, place the fish and vegetables into the bowls first, then ladle the hot coconut broth around them. This gives each serving a similar balance of ingredients and reduces unnecessary handling of the cooked seafood.
Storing and Reheating Coconut Fish Curry Soup
Fish soups should be refrigerated promptly because cooked seafood is perishable. Transfer leftovers into shallow, covered containers and refrigerate within two hours of cooking, or within one hour if the surrounding temperature exceeds 90°F. Keep the refrigerator at 40°F or below and use properly stored leftovers within three to four days, although the fish’s texture will generally be better when the soup is eaten sooner.
Freezing is possible, but coconut milk may separate after thawing and the fish can become softer or more crumbly. Divide the cooled soup into freezer-safe portions, leaving suitable room for expansion, and freeze promptly. Thaw frozen portions in the refrigerator rather than on the counter.
When reheating leftovers, place the soup in a saucepan over medium heat and warm it thoroughly, stirring carefully to distribute the heat. Bring the soup to a boil and verify that the food reaches at least 165°F throughout before serving. Avoid prolonged boiling once it has reached the required temperature, since extended heating can further soften the fish and vegetables.
For meal preparation, a useful alternative is to prepare the coconut broth and vegetables ahead of time while leaving the fish uncooked. Cool the prepared broth promptly, refrigerate it in a covered container, and use it within three to four days. When ready to serve, bring the prepared broth back to a boil, then reduce the heat to a gentle simmer before adding the fish. Cook the freshly added seafood until its center reaches 145°F, then finish with the spinach and lime juice as directed in the original recipe.

