This coconut milk fish is a delicious way to enjoy fish for dinner, with a creamy coconut, ginger and turmeric sauce and oven-roasted cherry tomatoes. A one-pan meal that’s ready in just 30 minutes!
I discovered this fish in coconut milk recipe a couple of years ago and it has made countless appearances in my kitchen!
I love everything about it, from the fabulous flavours to the fact that it’s a great way to eat more fish and finally, because it is ready in just very little time, with very little hands-on time and cooks up entirely in the oven!
Ingredients and substitutions
Fish – Any fish that you enjoy is fine here. I like white fish, such as cod, haddock or halibut. Salmon or rainbow trout will also work. The fillets can be skin on or skin off. Note that the oven time will vary depending on the thickness of your fish.
Coconut Milk – You can use regular, full-fat coconut milk or lite coconut milk for this dish. Just a reminder that leftover coconut milk can be frozen for up to 3 months.
Ginger – You can use freshly grated ginger or jarred ginger.
Lemon Zest – The bit of lemon zest just adds another layer of flavour. You can omit if you don’t have a lemon on hand.
Turmeric – Turmeric is responsible for the lovely yellow colour of the sauce and a slight bit of flavour.
Red pepper flakes – The red pepper flakes in this dish do not make it spicy but do provide a nice bit of background flavour. You can omit them if you like.
Cilantro – Fresh cilantro really completes this dish, so I highly recommend it. If you are not a fan of cilantro, some chopped flat-leaf parsley is a good substitution.
Cherry tomatoes – Any cherry or grape tomatoes are fine. Use all one colour or a couple of colours. Cook them whole, so don’t slice before using.
How to make this fish with coconut milk
- Start by mixing together all the coconut sauce ingredients in a medium bowl (big enough to hold the fish).
- Add the fish to the coconut sauce to marinate briefly while getting tomatoes started.
- Arrange the cherry tomatoes on either side of the baking dish, season with salt and pepper, drizzle with olive oil and then pop into the oven to start cooking.
- Let the fish sit in the coconut sauce until the tomatoes come out of the oven.
- Remove the tomatoes from the oven after 5-8 minutes in the oven.
- Add the fish and coconut sauce to the pan and drizzle with a bit of olive oil. Return to the oven until the fish is cooked, 10-15 minutes (depending on the thickness of the fish used). Finish with the broiler to brown the tomatoes slightly.
Recipe tips!
In order to get lovely, jammy tomatoes, I like to pre-cook them briefly to give them a head start. Vary the length of the pre-cook a bit depending on the thickness of the fish you will be using. A thinner fish will need less time in the oven, so extend the tomato pre-cooking time a bit. Likewise, for a thicker fish that will need more time in the oven, you can shorten the tomato pre-cook a bit accordingly.
While salt is added to the sauce and over the tomatoes and fish, you may want a touch more when serving to really bring out all the great flavours in this dish.
What to serve with this coconut fish
The sauce is delicious and plentiful so rice is a perfect addition to soak up all the saucy goodness. A nice crusty bread would also work well to sop up the sauce. For a carb-free side, pair with a salad or steamed vegetables.
Making ahead and storing
Fish is always best enjoyed freshly cooked as re-heating risks over-cooking the fish. In a pinch, you can make this ahead, refrigerate and gently re-heat to serve.
Store leftovers in the refrigerator for up to 2 days.
Want to save this recipe?
Enter your email and I’ll send it to your inbox. Plus, you’ll get great new recipes from me every week!
By submitting this form, you consent to receive emails from Seasons and Suppers.
You can unsubscribe at any time.
Get the Recipe: Coconut Milk Fish
Ingredients
- 24 oz (680 g) fish fillets, about 6 oz each *see Note 1 for fish suggestions
- 1 1/2 lbs (600 g) cherry or grape tomatoes
- 2 Tablespoons olive oil
- Salt and freshly ground pepper
Coconut sauce:
- 3/4 cup (175 ml) coconut milk, regular or lite, well-stirred before measuring
- 1 inch piece fresh ginger, grated or 1 Tablespoon of jarred ginger
- 1 clove garlic , grated
- 1/2 teaspoon ground turmeric
- 1/4 -1/2 teaspoon red-pepper flakes, adjust to taste or omit
- 2 teaspoons honey, or brown sugar
- 1/2 teaspoon salt
- Zest and juice of 1 lime
- 1/4 cup fresh cilantro
For garnish:
- Lime wedges or slices, for serving
- Additional fresh cilantro, for garnish
Instructions
- Tip! The sauce is both delicious and plentiful so it is perfect for serving with rice!
- Preheat oven to 425F with the rack in the centre of the oven. Have an oven-safe baking dish at the ready (large enough to just hold the tomatoes and fish. I use a 12" round enamelled cast iron baking dish.
- In a medium bowl, mix together all the coconut sauce ingredients. Add the fish to the bowl, ensuring the fish is completely submerged in the sauce. Set into the refrigerator to marinate while you start the tomatoes.
- Arrange the cherry tomatoes in the baking dish, placing half the tomatoes on each side of the baking dish, leaving the centre open. Drizzle with a bit of olive oil and season with some salt and pepper.
- Place the tomatoes into the oven and cook for 8-10 minutes (precook the tomatoes about 8 minutes if you are using thicker fish fillets up to 10 minutes for thinner fish fillets).
- Remove the baking pan with the tomatoes from the oven. Place the fish fillets into the centre of the baking dish and spoon all the remaining sauce overtop. Drizzle with a bit of olive oil and sprinkle with some salt and pepper. Return the baking dish to the oven and bake for 10-15 minutes or until the fish is almost cooked through. Test the fish with a fork, where it should be almost cooked through or with an instant-read thermometer, where it should register about 140F (not quite cooked through).
- Transfer the baking dish up one rack in the oven (about 6" from the broil element) and switch the oven to broil. Broil briefly to brown up the tomatoes slightly, about 3 minutes. (This will also finish cooking the fish. Fish should be 145F when done or should flake easily with a fork.)
- Divide the tomatoes and fish with sauce between serving dishes or bowls. Garnish with additional cilantro and serve with lime wedges for squeezing or lime slices for garnish. (Add additional salt at the table if needed. Proper salting really brings out all the great flavours of this dish.)
Notes
Adapted from a New York Times Cooking recipe
More fish recipes to love!
Hi! I’m Jennifer, a home cook schooled by trial and error and almost 40 years of getting dinner on the table! I love to share my favourite recipes, both old and new, together with lots of tips and tricks to hopefully help make your home cooking enjoyable, stress free, rewarding and of course, delicious!
Oops! I meant to leave five stars with my prior comment.
Simple and delicious. However, the prep time was much longer than 5 minutes. But, we liked this so much we had it twice in one week!
So glad you enjoyed it (twice :) Dani! Thanks.
Great recipe, but why would you want lime slices? They may look nice, but they make a mess when you squeeze them. Wedges are much better.
I agree David. The lime slices are for garnish and also infuse the fresh lime flavour into the sauce. I use slices when presenting the dish in the skillet, but lime wedges for squeezing.