If there’s one dish that genuinely transports you — the way a deep breath of warm, spiced coconut steam can make your entire kitchen smell like the Konkan coast — it’s a great Goan fish curry. Aromatic, tangy, vibrantly red, and rich with coconut milk, this is not your average fish curry. It’s layered, bold, and deeply satisfying in the way only a coastal Indian recipe can be.
The good news? You don’t need to travel to Goa to taste it. With a handful of whole spices, good white fish, and a well-made coconut masala, you can have the real thing on your table in 35 minutes. I’ve made this recipe more times than I can count, and every single time, that first ladle into the pot feels like a small celebration. Whether you’re new to Indian cooking or just looking for the best fish recipes for dinner, this one belongs in your permanent collection.
Why You’ll Love This Recipe

This Goan fish curry is everything a great seafood dish should be — bold without being overwhelming, tangy without being sharp, and creamy in the most comforting way possible. The coconut gravy has this gorgeous depth that comes from toasted whole spices and tamarind working together, and the fish absorbs every bit of it beautifully. It’s the kind of dish that fills the room with an aroma that makes people drift into the kitchen asking what’s cooking. Weeknight dinner, weekend feast, or a meal you want to make for someone special — it works every time, without fail.
Ingredients

- 500g firm white fish fillets (kingfish, cod, or tilapia), cut into large pieces
- 1 cup thick coconut milk
- 1 medium onion, finely sliced
- 2 medium tomatoes, roughly chopped
- 1½ tbsp tamarind paste (or a small lime-sized ball of tamarind soaked in warm water)
- 6–8 dried Kashmiri red chilies (for color and mild heat)
- 1 tsp cumin seeds
- 1 tsp coriander seeds
- ½ tsp turmeric powder
- 1 tsp Goan fish curry masala powder (or garam masala as a substitute)
- 4 cloves garlic
- 1-inch piece fresh ginger
- 2 tbsp coconut oil (or neutral oil)
- 10–12 fresh curry leaves
- Salt to taste
- Fresh coriander, for garnish
How to Make It

Make the coconut masala paste
Add the dried red Kashmiri chilies, cumin seeds, coriander seeds, garlic, ginger, and turmeric to a blender. Pour in about 4–5 tbsp of water and blend until you get a smooth, vivid red paste. This is the heart of the curry — don’t rush it. Blend until there are no chunks left. The color at this stage should be a deep, gorgeous red.
Prepare the fish
Pat the fish pieces completely dry with a paper towel — this applies whether you’re making curry or something quicker like harissa salmon. Season lightly with salt and a pinch of turmeric.
Set aside on a plate while you build the curry base. Drying the fish prevents it from releasing excess water into the gravy later — a small step that makes a real difference to the final texture.
Fry the onions
Heat coconut oil in a wide, heavy-bottomed pan or kadai over medium heat. Add the curry leaves first — they’ll sizzle and pop immediately, releasing their beautiful fragrance. Then add the sliced onions and cook, stirring occasionally, for 6–7 minutes until they turn soft and lightly golden at the edges.
Cook the masala paste
Add the blended red coconut masala paste into the pan with the onions. Stir everything together well. Cook this mixture on medium heat for 4–5 minutes, stirring regularly, until the raw smell of garlic and spice disappears and the oil begins to separate slightly at the edges of the paste. This step develops the full, deep flavor of the curry.
Add tomatoes and tamarind
Stir in the chopped tomatoes and tamarind paste. Mix well and cook for another 3–4 minutes until the tomatoes break down into the masala and everything comes together into a thick, aromatic base. Taste it at this stage — the tanginess from the tamarind should be present but not overpowering.
Pour in the coconut milk
Add the thick coconut milk and about ½ cup of water. Stir gently to combine, then bring the curry to a gentle simmer over medium-low heat. Don’t let it come to a rolling boil — coconut milk can split at high temperatures. A slow, gentle simmer keeps the gravy silky and smooth.
Add the fish
Carefully slide the fish pieces into the simmering curry. Don’t stir vigorously — gently spoon the gravy over the fish instead, so the pieces stay whole. Cook for 8–10 minutes on low heat until the fish is just cooked through. It’s done when it flakes easily at the thickest part when pressed gently with a spoon.
Taste, adjust, and serve
Taste the curry and adjust salt and tamarind to your preference. If you’d like it tangier, add a small squeeze of lime. Scatter fresh coriander over the top and serve immediately with steamed basmati rice or crusty bread to soak up every drop of that incredible coconut gravy.
Cooking Tips & Variations

In my experience, the biggest mistake people make with this curry is rushing the masala. Those 4–5 minutes of cooking the paste in the pan are non-negotiable — that’s where the depth comes from. I’ve also found that Kashmiri chilies are far better than regular dried chilies here: they give that stunning red color without making the curry unbearably hot.
For a milder version, reduce to 4 chilies and increase the coconut milk slightly — it becomes almost creamy and gentle, perfect for children or sensitive palates. For a more authentic coastal feel, use whole pomfret or kingfish steaks instead of fillets — bone-in fish adds incredible flavor to the gravy. This curry also tastes noticeably better the next day, so it’s a brilliant make-ahead dish.
Serving & Storage Tips

Serve this Goan fish curry hot, spooned generously over steamed basmati rice or alongside soft, warm chapati. For a truly coastal Goan experience, pair it with pao — that light, pillowy Portuguese-influenced bread that’s made for soaking up curry. A side of thinly sliced raw onions with lime juice and a fried green chili completes the plate beautifully.
Leftovers keep well in an airtight container in the refrigerator for up to 2 days — the flavor genuinely deepens overnight. Reheat gently over low heat on the stovetop, adding a small splash of water if the gravy has thickened. Avoid microwaving fish curry at high heat, as it can make the fish rubbery and cause the coconut milk to separate.
Conclusion

This Goan fish curry is one of those recipes that reminds you why home cooking is worth every minute. It’s bold and aromatic, surprisingly simple to make, and the kind of dish that turns an ordinary evening into something genuinely memorable. Once you’ve made it, you’ll find yourself craving that warm coconut-tamarind aroma again and again. Save this recipe to your Pinterest boards so it’s always within reach, try it this week with your favorite white fish, and share it with someone who deserves a truly spectacular dinner tonight.
