Coconut Fish Curry Recipe

Share This

Last week I was craving something comforting but not too heavy, but in my kitchen I didn’t want anything too complicated is always my mood on busy days and I still wanted something flavorful and soothing and satisfying with simple ingredients and quick cooking. Coconut Fish Curry is one of those comforting dishes that feels light but still rich, creamy, and deeply satisfying. The coconut milk blends beautifully with warm spices and tender fish, creating a dish that feels both tropical and homely. It’s simple, quick to prepare, and always delivers a restaurant-style taste without needing complicated steps.

I have simple pantry spices, fresh fish, and coconut milk I use them together almost always when I want something quick but delicious I always rely on coconut milk because it makes everything creamy without effort.

You can serve Coconut Fish Curry with steamed rice, some warm flatbread, also with simple cucumber salad or pickled vegetables to balance the creaminess and bring freshness to the plate.

Its Perfect For:

  • Busy weeknight dinners when you want something quick but homemade
  • Light family meals that still feel filling and satisfying
  • Meal prep for the next day because flavors deepen overnight
  • Guests who enjoy mild but flavorful dishes with soft spice
  • Anyone who loves coconut-based comfort food with fish

Ingredients

  • 500g white fish fillets (tilapia, cod, snapper, or any firm fish), cut into chunks
  • 1 tablespoon oil (coconut oil or vegetable oil)
  • 1 medium onion, finely sliced
  • 3 cloves garlic, minced
  • 1 tablespoon ginger, grated
  • 1–2 tablespoons curry powder
  • 1 teaspoon turmeric powder
  • 1 teaspoon paprika (optional, for color and depth)
  • 1 can (400ml) coconut milk
  • 1/2 cup fish or vegetable broth (optional, for lighter sauce)
  • 1 tablespoon fish sauce (or soy sauce as substitute)
  • 1 teaspoon brown sugar
  • 1–2 red chilies, sliced (optional for heat)
  • 1 cup cherry tomatoes or chopped tomatoes
  • 1 tablespoon lime juice
  • Salt and black pepper to taste
  • Fresh cilantro or parsley for garnish

Kitchen Equipment You’ll Need

  • Large frying pan or deep skillet
  • Sharp knife for cutting fish and vegetables
  • Cutting board
  • Wooden spoon or spatula
  • Small bowl for mixing spices
  • Measuring spoons and cups
  • Lid for covering the pan while cooking fish

How to make Coconut Fish Curry

Step 1

Sauté aromatics: Heat oil in a large pan over medium heat. Add the sliced onions and cook slowly for about 3–4 minutes until they soften and become slightly golden. Add the minced garlic and grated ginger, stirring continuously so they don’t burn, and cook for another 1–2 minutes until fragrant and well blended.

Step 2

Build the curry base: Sprinkle in the curry powder, turmeric, and paprika. Stir well so the spices coat the onions and release their aroma. Let the spices toast gently in the oil for about 1 minute to deepen the flavor and remove any raw spice taste.

Step 3

Add liquids: Pour in the coconut milk and broth (if using), stirring well to combine everything into a smooth, creamy sauce. Add fish sauce, brown sugar, and sliced chilies. Bring the mixture to a gentle simmer and let it cook for about 5–7 minutes so the flavors can develop and the sauce slightly thickens.

Step 4

Add vegetables and tomatoes: Stir in the cherry tomatoes or chopped tomatoes. Let them soften in the sauce for about 3–5 minutes, gently breaking down so they release their juices and add a slight natural sweetness and acidity to the curry.

Step 5

Cook the fish: Carefully add the fish chunks into the simmering curry. Spoon some sauce over the fish so it is fully coated. Cover the pan and let it cook gently for about 8–10 minutes, or until the fish is opaque, tender, and flakes easily. Avoid stirring too aggressively so the fish pieces stay intact.

Step 6

Finish and adjust flavor: Turn off the heat and add fresh lime juice to brighten the dish. Taste the curry and adjust seasoning with salt, pepper, or a little more fish sauce if needed.

Step 7

Serve: Let the curry rest for a couple of minutes so the flavors settle. Garnish generously with chopped cilantro or parsley and serve hot with steamed rice, jasmine rice, or warm flatbread.

Tips for the Best Coconut Fish Curry

  • Use fresh fish whenever possible
    Fresh fish gives a softer texture and cleaner taste. It also holds shape better in the curry.
  • Do not overcook the fish
    Fish cooks quickly and becomes dry if left too long. Keep heat low and gentle.
  • Always simmer, never boil hard
    A gentle simmer keeps coconut milk smooth and prevents curdling or separation.
  • Let spices cook before adding liquid
    This step removes raw spice taste and builds deeper flavor in the curry base.
  • Balance with lime at the end
    Fresh lime juice lifts the richness and makes the dish taste brighter and fresher.
  • Add vegetables for texture
    Tomatoes, spinach, or bell peppers make the dish more colorful and nutritious.
  • Taste before serving
    Adjust salt, spice, and sweetness at the end for a balanced final flavor.

Optional Ingredients

  • Spinach for extra greens and softness
  • Bell peppers for sweetness and color
  • Lemongrass for a fresh citrus aroma
  • Chili flakes for extra heat
  • Fresh basil for a fragrant finish
  • Kaffir lime leaves for deeper citrus notes

How to serve Coconut Fish Curry?

I always like to serve Coconut Fish Curry in a deep warm bowl so the sauce stays rich, creamy, and comforting from the first bite to the last. I usually spoon it generously over hot steamed jasmine rice because the rice absorbs the coconut curry sauce so well and makes every mouthful soft, flavorful, and satisfying.

I also love adding small side dishes when serving it at home, especially fresh cucumber salad, simple tomato salad, or lightly pickled vegetables. These fresh sides help cut through the creaminess of the curry and give a refreshing contrast that keeps the meal balanced and not too heavy.

I sometimes serve it with warm flatbread when I want a more relaxed, casual style of eating. The bread soaks up the sauce beautifully, and it makes the whole meal feel more comforting and shared, especially when eating with family or friends.

Is Coconut Fish Curry healthy?

Coconut Fish Curry can be a very healthy dish when prepared with fresh fish and balanced ingredients. Fish provides lean protein and important nutrients, while coconut milk adds natural richness and energy.

It also includes spices like turmeric, garlic, and ginger, which are commonly used in traditional cooking for their warming and supportive properties. When paired with vegetables and eaten with moderate portions of rice, it becomes a nourishing and well-rounded meal.

Variations and Substitutions

  • Thai Style Coconut Fish Curry
    Add red curry paste and fresh basil
    Creates a stronger spicy and aromatic flavor
    Feels more vibrant and bold in taste
  • Indian Style Coconut Fish Curry
    Use garam masala and cumin instead of curry powder
    Add tomatoes for deeper richness
    Gives a warm, earthy, and traditional flavor
  • Green Coconut Fish Curry
    Use green curry paste and fresh herbs
    Add green beans or zucchini
    Fresh, herbal, and slightly spicy profile
  • Light Coconut Fish Curry
    Replace half coconut milk with broth
    Reduces richness while keeping flavor
    Perfect for lighter everyday meals
  • Spicy Coconut Fish Curry
    Add extra chilies or chili paste
    Makes the dish hotter and more intense
    Best for people who enjoy strong spice
  • Vegetable Coconut Curry Version
    Replace fish with tofu or chickpeas
    Keeps creamy coconut base intact
    Perfect vegetarian-friendly option
  • Tropical Coconut Fish Curry
    Add pineapple or mango chunks
    Creates sweet and tangy flavor balance
    Bright and refreshing tropical twist
  • Herb-Infused Coconut Fish Curry
    Add cilantro, mint, and basil
    Increases freshness and aroma
    Makes the dish feel lighter and greener

How to store, How to reheat

To store Coconut Fish Curry, let it cool completely before transferring it into an airtight container. Keep it in the refrigerator and consume it within 2 days for the best texture and freshness, since fish is delicate and tastes best when freshly made.

To reheat, warm it slowly over low heat in a pan while gently stirring so the fish does not break apart. If the sauce has thickened too much in the fridge, add a small splash of coconut milk or water to bring back its creamy consistency.

Frequently Asked Questions About Coconut Fish Curry

Can I use frozen fish for Coconut Fish Curry?
Yes, frozen fish works well, but it must be fully thawed first.
Pat it dry to avoid extra water in the curry and help maintain good texture.

What type of fish is best for coconut curry?
Firm white fish like tilapia, cod, or snapper works best.
They hold shape during cooking and absorb the curry flavors nicely.

Can I make Coconut Fish Curry ahead of time?
Yes, you can prepare it a few hours in advance.
However, it is best enjoyed fresh because fish texture is softer when freshly cooked.

How do I make the curry thicker?
Let it simmer uncovered for a few extra minutes.
You can also reduce broth or add a small amount of coconut cream.

Coconut Fish Curry Recipe

Recipe by Maria MeyerCourse: Main DishCuisine: AsianDifficulty: Medium
Servings

4

servings
Prep time

15

minutes
Cooking time

25

minutes

Creamy Coconut Fish Curry recipe made with tender white fish, coconut milk, and aromatic spices. Easy, flavorful, and perfect with rice for a comforting meal.

Ingredients

  • 500g white fish fillets (tilapia, cod, snapper, or any firm fish), cut into chunks

  • 1 tablespoon oil (coconut oil or vegetable oil)

  • 1 medium onion, finely sliced

  • 3 cloves garlic, minced

  • 1 tablespoon ginger, grated

  • 1–2 tablespoons curry powder

  • 1 teaspoon turmeric powder

  • 1 teaspoon paprika (optional, for color and depth)

  • 1 can (400ml) coconut milk

  • 1/2 cup fish or vegetable broth (optional, for lighter sauce)

  • 1 tablespoon fish sauce (or soy sauce as substitute)

  • 1 teaspoon brown sugar

  • 1–2 red chilies, sliced (optional for heat)

  • 1 cup cherry tomatoes or chopped tomatoes

  • 1 tablespoon lime juice

  • Salt and black pepper to taste

  • Fresh cilantro or parsley for garnish

Directions

  • Sauté aromatics: Heat oil in a large pan over medium heat. Add the sliced onions and cook slowly for about 3–4 minutes until they soften and become slightly golden. Add the minced garlic and grated ginger, stirring continuously so they don’t burn, and cook for another 1–2 minutes until fragrant and well blended.
  • Build the curry base: Sprinkle in the curry powder, turmeric, and paprika. Stir well so the spices coat the onions and release their aroma. Let the spices toast gently in the oil for about 1 minute to deepen the flavor and remove any raw spice taste.
  • Add liquids: Pour in the coconut milk and broth (if using), stirring well to combine everything into a smooth, creamy sauce. Add fish sauce, brown sugar, and sliced chilies. Bring the mixture to a gentle simmer and let it cook for about 5–7 minutes so the flavors can develop and the sauce slightly thickens.
  • Add vegetables and tomatoes: Stir in the cherry tomatoes or chopped tomatoes. Let them soften in the sauce for about 3–5 minutes, gently breaking down so they release their juices and add a slight natural sweetness and acidity to the curry.
  • Cook the fish: Carefully add the fish chunks into the simmering curry. Spoon some sauce over the fish so it is fully coated. Cover the pan and let it cook gently for about 8–10 minutes, or until the fish is opaque, tender, and flakes easily. Avoid stirring too aggressively so the fish pieces stay intact.
  • Finish and adjust flavor: Turn off the heat and add fresh lime juice to brighten the dish. Taste the curry and adjust seasoning with salt, pepper, or a little more fish sauce if needed.
  • Serve: Let the curry rest for a couple of minutes so the flavors settle. Garnish generously with chopped cilantro or parsley and serve hot with steamed rice, jasmine rice, or warm flatbread.