Fish Curry with Coconut Milk (Easy 30-Minute Recipe)
Fish curry with coconut milk is a rich and comforting dish made with tender fish simmered in a creamy, fragrant sauce. This easy one-pot recipe is ready in just 30 minutes, perfect for busy weeknights when you’re craving something warm, flavorful, and satisfying.

A Quick Look at the Recipe
🏷️ Recipe Name: Fish Curry
⏱️ Ready In: ~ 25 minutes
🍽️ Serves: 4 portions
🔥 Calories: 336 kcal (per portion)
🧾 Main Ingredients: Fish, eggplants, shallots, garlic, chilis, candlenuts, turmeric, galangal, lemongrass, bay leaves, lime leaves, shrimp paste, coriander seeds, coconut milk, water, salt, pepper.
🥗 Dietary Info: Halal
🧠 Difficulty: Easy, great for beginner, very simple steps.
Have a question? Ask AI!
Fish curry with coconut milk is a comforting Southeast Asian dish known for its rich, creamy broth and fragrant spices. This 30-minute fish curry brings together the familiar flavors of coconut-based classics like beef rendang and chicken curry, but in a lighter, quicker one-pot version.
It’s rich yet refreshing, spicy but soothing, the kind of dish that warms you from the inside out. The tender fish absorbs all the aromatic coconut flavors, creating a beautifully balanced curry that feels both comforting and easy enough for a weeknight meal.
If you love coconut-based dishes, this fish curry might become your new favorite. It’s quick, flavorful, and captures the essence of Southeast Asian comfort food in one simple pot.
Why You Will Love This Recipe
Recipe Ingredients

Ingredient Notes
Fish – You can use any white-fleshed fish such as snapper, grouper, or barramundi. These types hold their shape well and soak up the curry beautifully. Cut the fish into thick slices and don’t skip the head if you can! It adds so much flavor and richness to the broth, making this fish curry with coconut milk even more delicious.
Spice Blend – The base of this fish curry starts with a fragrant spice paste. Blend together shallots, garlic, candlenuts, coriander, turmeric, and a few fresh red chilies. This mix brings depth, heat, and that unmistakable Southeast Asian aroma that makes the whole kitchen smell amazing.
Eggplant (Optional) – If you’d like to add more fiber or a bit of veggie balance, toss in some sliced eggplant. It soaks up the curry sauce like a sponge and adds a lovely texture contrast. Totally optional but highly recommended if you want to make the dish heartier.
Be sure to check out the full recipe and ingredient list below
How to Make Fish Curry

STEP 1. Prepare the Ingredients. Cut the eggplants into bite-sized pieces and deep-fry them until golden (Images 1, 2). Set aside. Wash the fish slices and drizzle with lime juice, letting them sit for about 5 minutes to remove any fishy smell.
In a food processor, blend the shallots, garlic, candlenuts, turmeric, red chilies, coriander seeds, and shrimp paste (Image 3). Add a splash of water to help the mixture blend smoothly (Image 4).

STEP 2. Build the Flavor Base. Heat some oil in a wok or deep pan and sauté the blended spice paste (Image 5). Add the bay leaves, lime leaves, galangal, and lemongrass. Continue stirring until fragrant and the oil starts to separate from the spice paste (Image 6). Add in the fish slices (Image 7) and gently stir so they’re coated evenly with the aromatic spices (Image 8).

STEP 3. Make the Creamy Coconut Broth. Pour in the coconut milk and water (Image 9). Add your seasonings: salt, sugar, and a bit of mushroom powder if you like (Image 10). Let the curry simmer gently; don’t let it boil (Image 11), as boiling can make the coconut milk curdle.
Once the fish is tender, remove the bay leaves, lime leaves, galangal, and lemongrass. For an extra silky texture, strain the broth (Image 12). Simmer for another 5 minutes, then it’s ready to serve!
To Serve: In a bowl, place some fried eggplant slices and tender fish pieces. Pour over the hot coconut milk broth, sprinkle with crispy fried shallots, and serve with lime wedges on the side.
Prefer a lighter preparation? Try this Cantonese Steamed Fish with ginger and scallions.
Pro Tips
- Choose the right fish – Use firm, white-fleshed fish like snapper, grouper, or barramundi. These types hold up well during simmering and won’t fall apart easily. If possible, include the fish head, it adds depth and richness to the broth.
- Keep the coconut milk silky – Avoid letting the curry boil once the coconut milk goes in. Keep the heat low and let it gently simmer instead. Boiling can cause the coconut milk to separate and make the broth grainy.
- Sauté until the oil separates – When cooking the spice paste, take your time until the oil starts to separate from the mixture. That’s when you know the spices are fully cooked and the flavor has bloomed.
- Balance the spice and creaminess – If you like it creamier, add more coconut milk toward the end of cooking. For extra heat, stir in a little more chili paste or sliced red chili just before serving. That way, the flavor stays fresh and bright.
- Refresh it before serving – If you make the curry ahead, reheat it gently over low heat while stirring. Don’t let it boil again. Add a splash of coconut milk or water to loosen the sauce if it thickens overnight.
Serving Suggestions
This fish curry with coconut milk is best served hot with a bowl of fluffy steamed white rice or ketupat (compressed rice cakes) to soak up the rich, fragrant broth.
For a more complete meal, pair it with crispy and chewy perkedel and a side of pickled cucumber for freshness. A sprinkle of fried shallots (bawang goreng) on top adds extra aroma and crunch.
If you’re serving a bigger spread, this curry goes beautifully with bold dishes like chicken balado or chicken rendang, both of which complement the creamy, spiced flavors.
To finish, enjoy a light dessert such as kue pukis, bika Ambon, or Malaysian honeycomb cake. Pair it with a refreshing drink like tamarind iced tea, pineapple mint soda, or lychee tea for a perfect ending.
FAQs about Fish Curry
Firm, white-fleshed fish like snapper, barramundi, grouper, or cod work beautifully in this curry. They stay tender and hold their shape while simmering in coconut milk. Avoid delicate fish like tilapia, they tend to break apart easily.
Yes! Canned coconut milk works perfectly. Go for full-fat coconut milk for a richer, creamier broth. If you prefer something lighter, mix it with a bit of water or use lite coconut milk.
That usually happens when the heat is too high. Once you add the coconut milk, lower the heat and let the curry gently simmer instead of boiling. Stir occasionally to keep it silky and smooth.
Add the fish after your spice paste has finished cooking and the broth is simmering. Avoid stirring too often once the fish is in, use a spatula to gently turn the pieces instead.
Yes, you can! The flavors develop beautifully after a few hours. Just keep the curry refrigerated and reheat gently before serving. You can even prepare the spice paste ahead and freeze it for future use.
Definitely! The same base works for shrimp, squid, tofu, or chicken. Just adjust the cooking time. Seafood cooks fast, while chicken might need a few extra minutes.
Storage
If you have leftovers, store the fish curry with coconut milk in an airtight container in the refrigerator for up to 3 days. The flavor actually deepens overnight as the spices meld together.
To reheat, warm it gently in a saucepan over low heat. Stir often and avoid boiling so the coconut milk stays smooth and creamy. If the curry thickens, add a splash of water or coconut milk to bring it back to the perfect consistency.
More Coconut Based Dishes
If you enjoy the rich, comforting flavors of this fish curry, you might also love these coconut-based Indonesian favorites:
- Soto Betawi – a creamy Jakarta-style beef soup made with coconut milk and aromatic spices, perfect for a hearty and satisfying meal.
- Soto Tangkar – a flavorful beef rib soup with a rich coconut broth, known for its deep, savory taste and warming spices.
- Chicken Rendang – a slow-cooked Indonesian classic with tender chicken simmered in a fragrant coconut sauce until deeply flavorful and slightly caramelized.
- Sate Taichan – Simple grilled chicken skewers packed with smoky flavor and served with fiery sambal.

Quick and Easy One-Pot Fish Curry
Equipment
- 1 pot
Ingredients
- 600 gr fish
- 2 eggplants
- 8 pcs shallots
- 4 pcs garlic
- 6 pcs red chilis
- 10 pcs curly chilis
- 3 pcs chili padi
- 5 pcs candlenuts
- 3 cm turmeric
- 3 cm galangal
- 2 stalks lemongrass
- 2 pcs bay leaves
- 3 pcs lime leaves
- 1 tbsp shrimp paste
- 1 tbsp coriander seeds
- 200 ml coconut milk
- 1000 ml water
- 2 tsp salt
- 1 tsp mushroom powder
- 1 tsp pepper
Instructions
- Cut the eggplants into bite-sized pieces and deep-fry them until golden. Set aside.
- Wash the fish slices and drizzle with lime juice, letting them sit for about 5 minutes to remove any fishy smell.
- In a food processor, blend the shallots, garlic, candlenuts, turmeric, red chilies, coriander seeds, and shrimp paste. Add a splash of water to help the mixture blend smoothly.
- Heat some oil in a wok or deep pan and sauté the blended spice paste. Add the bay leaves, lime leaves, galangal, and lemongrass. Continue stirring until fragrant and the oil starts to separate from the spice paste.
- Add in the fish slices and gently stir so they’re coated evenly with the aromatic spices.
- Pour in the coconut milk and water. Add your seasonings: salt, sugar, and a bit of mushroom powder if you like. Let the curry simmer gently; don’t let it boil, as boiling can make the coconut milk curdle.
- Once the fish is tender, remove the bay leaves, lime leaves, galangal, and lemongrass. For an extra silky texture, strain the broth. Simmer for another 5 minutes, then it’s ready to serve!
- To Serve: In a bowl, place some fried eggplant slices and tender fish pieces. Pour over the hot coconut milk broth, sprinkle with crispy fried shallots, and serve with lime wedges on the side.
Notes
- Choose the right fish – Use firm, white-fleshed fish like snapper, grouper, or barramundi. These types hold up well during simmering and won’t fall apart easily. If possible, include the fish head, it adds depth and richness to the broth.
- Keep the coconut milk silky – Avoid letting the curry boil once the coconut milk goes in. Keep the heat low and let it gently simmer instead. Boiling can cause the coconut milk to separate and make the broth grainy.
- Sauté until the oil separates – When cooking the spice paste, take your time until the oil starts to separate from the mixture. That’s when you know the spices are fully cooked and the flavor has bloomed.
- Balance the spice and creaminess – If you like it creamier, add more coconut milk toward the end of cooking. For extra heat, stir in a little more chili paste or sliced red chili just before serving. That way, the flavor stays fresh and bright.
- Refresh it before serving – If you make the curry ahead, reheat it gently over low heat while stirring. Don’t let it boil again. Add a splash of coconut milk or water to loosen the sauce if it thickens overnight.

I love how easy and quick to prepare this dish. Whenever I needed something nutritious and tasty, I will quickly decide to make this fish curry.