30-Minute Fish Curry with Coconut Milk
Here is a quick and easy One-Pot Fish Curry with Coconut Milk. A creamy, flavorful curry you can make in under 30 minutes. Perfect for weeknight dinners or when you crave something cozy and delicious.

If there’s one thing that unites so many Asian kitchens, it’s the love for coconut milk. From the rich, caramelized flavors of Beef Rendang and Chicken Rendang to the soothing soups like Chicken Curry, Soto Betawi and Soto Tangkar, coconut milk adds that creamy depth we can’t resist. This Fish Curry with Coconut Milk takes that same comforting essence but turns it into a lighter, one-pot version that’s ready in minutes.
It’s rich yet refreshing, spicy but soothing, the kind of dish that comforts you in warmth after a long day. You get all the aromatic coconut notes found in rendang or curry, but with tender fish simmered just right in a fragrant broth.
If you love coconut-based dishes, this fish curry might become your new favorite. It’s quick, flavorful, and beautifully ties together the familiar taste 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 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.
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 all that rich, fragrant broth.
For a more complete meal, pair it with crispy Perkedel (Indonesian potato patties) and a side of pickled cucumber for a touch of freshness that balances the creamy curry. If you’re serving a feast, it also goes beautifully with Ayam Balado or Chicken Rendang, both bold and spicy dishes.
Don’t forget dessert! End your meal on a sweet note with soft Kue Pukis, chewy Bika Ambon, or the caramel-scented Malaysian Honeycomb Cake. Together, they create the kind of comforting meal that feels like home.
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.

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.