This easy coconut fish curry is a protein-packed cozy dinner that you can have on the table in just 30 minutes. It has white fish poached in a deliciously creamy coconut sauce, and it's simply bursting with flavor!
And if you're looking for more curry ideas you can try on nights you want to skip takeout, try my Chicken & Chickpea Curry or Coconut Red Lentil Curry next!

Want to Save This Recipe?
Enter your email and I'll send it straight to your inbox. Plus, get great new recipes from me every week!
We eat a lot of curries in our home, and since I love fish so much, I always try to incorporate it into our weeknight meals.
This coconut fish curry is such an easy way to eat more fish while enjoying a restaurant-style dish that feels like a real treat.
It's only gently spicy (but you can up that if you like!) and it takes just 30 minutes to get on the table. I typically make it with cod or haddock, but just about any white fish would work just fine.
Why you'll love this coconut fish curry
- It's creamy, super flavorful and tastes like something you'd order from an Indian restaurant.
- You only need a handful of ingredients to make it.
- It's naturally dairy-free and gluten-free, but trust me, nobody will feel like they're missing out.

What you'll need
White fish - Look for firm varieties such as cod, haddock or halibut. These hold their shape beautifully in the simmering broth and won't flake too much.
Coconut oil - Using coconut oil as the base really reinforces the coconut aroma of this white fish curry.
Coconut milk - Go for full-fat canned coconut milk for the most luxurious, velvety sauce. Light versions also work, but the sauce will be thinner.
Aromatics - I use a mix of diced onion, minced garlic, and grated ginger to create the flavor base. The fresh red chili is what adds the kick - feel free to adjust to taste.
Spices - This is where you can get creative. I like a blend of ground cumin, ground coriander, chili powder, ground turmeric and curry leaves, but you can also use your favorite curry powder instead.
Tomatoes - Fresh cherry tomatoes add little bursts of acidity and obviously a pop of color.
Pro tip
To get the most intense flavor, "bloom" your spices by stirring them into the hot oil for about 60 seconds until they release their essential oils.

How to make fish curry with coconut milk
This is a quick overview with step-by-step photos. The full recipe with detailed steps is in the recipe card at the end of this post.
Heat the coconut oil in a large, deep pan. Sauté the onion until translucent, then add the garlic, fresh ginger and red chili pepper and continue to cook for another minute.


Next, stir in the spices and toast for a minute. Pour in the coconut milk, bring to a simmer, then add the salt, cherry tomatoes and fish chunks.


Cover the pot with a lid and cook for 5 minutes or until the fish is cooked through.
Add the lime juice, then garnish with the fresh cilantro and serve immediately.


Substitutions and variations
- You can transform this into a Thai-style fish curry by using your favorite Thai red curry paste instead of dry spices.
- This sauce also works great with jumbo shrimp instead of white fish.
- Feel free to add some green beans, frozen peas or some fresh spinach with the tomatoes.
Recipe tips and notes
- Use a big enough pan to avoid overcrowding. A cast-iron braiser is an excellent choice for this recipe.
- If your fish is quite thick, flip it over, then continue to cook for a couple of minutes until cooked through. Make sure you do it gently so the fish doesn't break down.
- To make this coconut fish curry spicy and also give it a bit of color, use Kashmiri red chili powder instead of regular.
What to serve with fish and coconut curry
- Both basmati and jasmine rice work great with this fish curry. You can also try it with my super-easy yellow pilau rice.
- For a low-carb option, serve the curry over cauliflower rice.
- Or if you want something to soak up all that delicious sauce, some warm naan or roti would go down a treat!
Leftovers and storage
- Any leftovers will keep well in the fridge for up to 3 days in an airtight container.
- I like to reheat this in the microwave because the fish will likely break into pieces when reheated on the stove.
- I don't recommend freezing this dish.
More easy curry recipes
- Chicken and Potato Curry
- Turkey Meatballs in Curry Sauce
- Easy Lamb Curry with Coconut Milk
- Slow Cooker Beef Curry
- 30-Minute Chickpea Spinach Curry
If you've tried this easy coconut fish curry recipe, please rate it and leave a comment below! I'd love to hear how it turned out.
And for more yummy recipe ideas, follow me on Instagram, Facebook, and Pinterest!

Easy Coconut Fish Curry
Ingredients
- 1 tablespoon coconut oil
- 1 medium onion, finely diced
- 2 large garlic cloves, finely chopped
- 1 tablespoon fresh ginger, finely chopped
- ½ small fresh red chili pepper, finely chopped
- 1 teaspoon ground cumin
- 1 teaspoon ground coriander
- ½ teaspoon chili powder
- ½ teaspoon ground turmeric
- 6 dried curry leaves
- 1 can (14 oz / 400 g) coconut milk
- ½ teaspoon salt
- 10 cherry tomatoes, halved
- 1 pound (450 g) white fish fillets, cut into large chunks
- Juice of half a lime
- A handful fresh cilantro, roughly chopped
Instructions
- Heat the coconut oil in a large, deep pan over medium heat and saute the onion for 3-4 minutes until it begins to look translucent.1 tablespoon coconut oil1 medium onion
- Add the garlic, fresh ginger and red chili pepper and continue to cook for another minute, stirring often.2 large garlic cloves1 tablespoon fresh ginger½ small fresh red chili pepper
- Next, stir in the ground cumin, ground coriander, chili powder, ground turmeric and curry leaves. Toast the spices for 1 minute, stirring often.1 teaspoon ground cumin1 teaspoon ground coriander½ teaspoon chili powder½ teaspoon ground turmeric6 dried curry leaves
- Pour in the coconut milk, stir well to combine and bring to a gentle simmer. Reduce the heat to low then add the salt, cherry tomatoes and fish chunks.
- Cover the pot with a lid and cook for 5 minutes or until the fish is cooked through.
- Add the lime juice, then garnish with the fresh cilantro and serve immediately.Juice of half a limeA handful fresh cilantro
Notes
- Use a big enough pan to avoid overcrowding. A cast-iron braiser is an excellent choice for this recipe.
- If your fish is quite thick, flip it over then continue to cook for a couple minutes until cooked through. Make sure you do it gently so the fish doesn't break down.
- To make this coconut fish curry spicy and also give it a bit of color, use Kashmiri red chili powder instead of regular.
Nutrition
Nutrition is per serving and is an estimate provided by an online nutrition calculator.






Leave a Reply