As delicious as the dish sounded, though, I was looking for a dish that was slightly more lactose-intolerant-friendly and then I thought back to one of my favorite Thai soups, tom kha gai. Tom kha gai is a coconut-milk-based chicken soup scented with galangal (or ginger), lemongrass, chilies, fish sauce, makrut lime leaves, lime juice, and cilantro. The combination of sweet, salty, and sour flavors balanced in a creamy broth felt ideal for pairing with a mild, firm fish. So, this dish is inspired by elements from both of those recipes.

Tom Kha Gai Inspired Poached Fish

This coconut milk poached fish recipe takes inspiration from the flavors of tom kha gai with a few modifications. I simmer the coconut milk with the essential ingredients of ginger, lemongrass, fish sauce, and lime juice, but include garlic and lime zest (in place of makrut lime leaves, which can be difficult to source). Instead of mushrooms, I add bok choy, a popular addition to coconut-based fish recipes that provide vibrant green color and a nice crunch. Finally, I top the poached fish with lime-pickled chilies for a bit of heat, crispy fried ginger, and fresh cilantro. The dish comes together in just about 30 minutes, perfect for a weeknight meal.

Aromatic Flavors Bring This Dish Together

Let’s delve into some of the key ingredients for flavoring this dish.

Coconut milk serves as the base of the poaching liquid and adds a lightly sweet and nutty flavor to the recipe. My favorite brand is Aroy-D, available online or at most large grocery stores. Its creamy consistency provides a nice contrast to the punchiness of the other ingredients. Typically, tom kha gai uses galangal, but ginger is more readily found in the US. Additionally, gingers softer texture is easier to mince for the crispy fried ginger. I like incorporating ginger into this recipe in two ways: first, as an ingredient for the poaching liquid and second, as a crispy topping. Lemongrass adds a fragrant, floral flavor to the poaching liquid. Many large grocery stores, including Whole Foods, carry it in the international produce section or herb aisle. If you cannot source it, feel free to omit. I use lime zest to add a citrusy component in place of makrut lime leaves, which can be tricky to find. If you do find lime leaves, feel free to substitute the lime zest for two lime leaves. Thinly slice the lime leaves and simmer in the coconut milk as you would the lime zest. Fish sauce, a common ingredient in East Asian and Southeast Asian cuisines, contributes a rich, savory taste to balance out the creaminess of coconut milk. You only need a little bit to transform a dish.

How to Purchase and Prep Cod

I like using cod for this dish because of its accessibility and firm texture (it won’t fall apart in the liquid!) A single serving of fish is typically 6 ounces, so I recommend purchasing four (6 ounce) filets for four people. Alternatively, you can buy a large, 1 1/2 pound piece of cod and cut it up into four equal portions. I typically shop for fish at the seafood section of my local grocery store or a local fish market. Both fresh and frozen fish work for this recipe, though I often use the fresh variety. When shopping for cod, look for a bright, moist appearance and avoid any pieces with fishy odors. For frozen cod, make sure to thaw overnight in the fridge before cooking. Please note that thicker pieces of cod will take longer to cook through, so you may need to adjust the cooking time based on the size of the fish.

How to Poach Fish

Poaching is a method of cooking whereby an ingredient is submerged in a liquid at a low temperature. Poaching happens at a lower temperature than, say, boiling or simmering, which helps preserve meat or fish’s soft, moist texture. To poach fish successfully for this recipe, you will want to employ the following techniques:

Tips and Tricks for Making Coconut Poached Fish

To make the most delicious coconut poached fish, follow our simple tips and tricks.

Keep tasting and seasoning the poaching liquid as you go through each step of the recipe. Ask yourself whether the dish has enough saltiness (from the fish sauce), acidity (from the lime juice), sweetness (from the brown sugar), and umami flavor (from the ginger and garlic).Go easy on the pickled chilies to start. Start by adding just one pickled chili to each serving bowl and adjust as needed. The spiciness will intensify in the coconut milk over time.Poach the bok choy at a gentle heat to maintain a crunchy texture.Use full-fat coconut milk to achieve a creamy consistency.

Swaps and Substitutions

This recipe is very flexible and takes easily to swaps and subs. Take a look at these quick and easy substitutions you can try:

Coconut milk adds nuttiness and creaminess to the recipe, but if you don’t have it on hand, you can sub in the same amount of heavy cream.Can’t find cod? Try another white, firm fish such as halibut or sea bass.

Variations on Coconut Poached Fish

Instead of fish, you could use the same poaching liquid to poach pieces of chicken breast, mussels, clams, or shrimp. Keep in mind that cooking times will vary depending on the type of meat.

How to serve Coconut Poached Fish

You can eat the fish poached in coconut milk on its own or serve it alongside steaming white rice. These chicken satay are a great starter to this meal, if you’re looking to entertain guests. 

More Cod Recipes for Weeknight Dinner

Pacific Black Cod Escabeche Cod with Tomato and Orange Pan Simmered Pacific Black Cod Baked Cod with Ritz Cracker Topping Cod Poached in Court Bouillon

Fried ginger Pickled chilies Lime wedges 1 cup loosely packed fresh cilantro, leaves and tender stems chopped

In a Dutch oven or large, deep skillet set over medium-high heat, add the oil. Sauté the ginger in oil for 30 seconds to 1 minute until it appears golden brown. Err on the side of caution here, as there will be some residual carryover cooking, and the ginger will continue to darken in color (if the ginger burns, you will need to start over). Immediately remove pan from the heat and pour the ginger and oil mixture into a fine-mesh sieve set over a bowl. Evenly scatter the strained ginger from the sieve to a paper towel lined plate and set aside. Reserve the ginger oil. Bring to a boil at medium-high heat, then reduce the heat to medium and simmer at a gentle boil for 10 minutes, maintaining medium-sized bubbles at the surface of the liquid. Season the liquid with additional fish sauce, brown sugar, or lime juice as needed. Note that thinner pieces will cook faster than thicker ones. The liquid should be just barely simmering, with small bubbles so make sure to adjust the heat as needed. Gently remove the fish from the pan with a slotted spoon or fish spatula and divide among the serving bowls.