Skip to content
Goan fish curry with fish steaks in a red coconut gravy, garnished with coriander and green chillies
Indian · Dinner

Goan Fish Curry

A tangy, coconut-based fish curry with red chillies, tamarind and a gentle heat. It comes together in under 40 minutes and is best with steamed rice.

Published 29 Sep 2026Updated Tested by Hina Ikram

Prep20 min
Cook20 min
Total40 min
Serves4
DifficultyMedium
CuisineIndian

Ingredients

4 servings

Equipment: Blender or spice grinder, wide heavy-based pan with lid

Method

  1. Pat the fish dry and rub it with 1/4 tsp turmeric and 1/2 tsp salt. Set aside in the fridge while you make the masala.

  2. Toast the dried chillies, coriander seeds, cumin and peppercorns in a dry pan over medium heat until fragrant and slightly darker, about 1 to 2 minutes. Tip onto a plate to cool.

  3. Blend the toasted spices with the coconut, garlic, tamarind and 1/2 cup of the warm water to a smooth, fine paste. Add a splash more water if the blender struggles.

  4. Heat the oil in a wide pan over medium heat. Fry the onion with a pinch of salt for 6 to 7 minutes, until soft and light golden.

  5. Add the tomatoes and remaining 1/4 tsp turmeric. Cook for 4 to 5 minutes, mashing with the spoon, until the tomatoes break down and the oil begins to separate at the edges.

  6. Stir in the coconut paste and cook for 2 minutes, stirring, so the raw taste cooks out. Pour in the remaining 1 cup of warm water and add the green chillies and 1/2 tsp salt.

  7. Bring to a gentle simmer over medium-low heat and cook for 4 minutes so the flavours join. The gravy should coat a spoon lightly; add a little water if it is too thick.

  8. Slide in the fish pieces in a single layer. Cover and simmer gently for 5 to 6 minutes, until the fish is opaque and flakes easily with a fork. Do not stir; shake the pan gently instead.

  9. Taste and adjust salt or tamarind. Turn off the heat, scatter over the coriander and rest the curry, covered, for 10 minutes before serving.

Cooking tips

  • Use firm fish steaks on the bone if you can; they hold their shape and add flavour to the gravy.
  • Keep the simmer gentle once the fish goes in. Hard boiling breaks the pieces apart and can split the coconut.
  • Kashmiri chillies give colour with mild heat. Add a pinch of hot chilli powder if you like it fiery.
  • The curry tastes better after resting, so make it an hour ahead if you can.

Substitutions

  • Prawns can replace the fish; cook them for only 3 to 4 minutes until pink and curled.
  • Use 200 ml thick coconut milk plus 1 tbsp desiccated coconut if you have no grated coconut.
  • Replace tamarind with 1 tbsp lime juice and add it at the end; the flavour will be brighter and less deep.
  • Use 1 tbsp Kashmiri chilli powder in place of dried chillies.

Serve with

Serve with plain steamed rice, a simple onion and cucumber salad and a wedge of lime. A fried papad on the side adds crunch.

Storage

Cool and refrigerate in an airtight container for up to 2 days. The fish is best eaten within this time.

Reheating

Warm gently in a pan over low heat with a splash of water, covered, until steaming hot throughout. Avoid boiling so the fish stays tender.

Nutrition per serving, estimated

410kcal
32 gProtein
14 gCarbs
26 gFat

Estimated from the ingredient list. Values vary with brands and portion size.

Related

You might also cook

Open pot of Hyderabadi chicken biryani with saffron rice, chicken pieces, fried onions and fresh herbsIndian

Hyderabadi Chicken Biryani

Bone-in chicken marinated in yogurt and spices, layered with par-boiled basmati, fried onions, herbs and saffron, then sealed and cooked on dum. Best made for a weekend table; allow 2 hours for marinating.

2 hServes 6
A pan of chicken tikka masala with charred chicken in a creamy orange tomato sauce, served with naan and lemon wedgesIndian

Chicken Tikka Masala

Yogurt-marinated chicken pieces are seared until lightly charred, then simmered in a smoky, onion-rich tomato gravy finished with a little cream. A dinner for roti, naan or rice.

1 h 25 minServes 4
A pot of deep red rogan josh with tender lamb pieces, garnished with fresh coriander, beside rice and naanIndian

Kashmiri Rogan Josh

A deep red lamb curry from Kashmir, slow-cooked in yogurt, fennel and ginger with mild Kashmiri chilli. It is rich but not fiery, and perfect for a weekend dinner.

2 hServes 6
A pot of creamy pale Kashmiri yakhni with mutton pieces, whole spices and a bowl of white rice on a wooden tableIndian

Kashmiri Yakhni

Tender mutton simmered in a pale, silky yogurt gravy scented with fennel, dry ginger and cardamom. It is mild, aromatic and made without turmeric or chilli.

1 h 40 minServes 4
More from this cuisine

Indian kitchen

All Indian
Bowl of misal with sprouted beans in red spicy gravy, topped with farsan, onion and coriander, served with buttered pavIndian

Misal Pav

A Maharashtrian-style breakfast of tender sprouted beans in a spicy coconut and onion gravy, topped with crunchy farsan and served with buttered, toasted pav. Filling, bold and easy to build in layers.

1 h 10 minServes 4
A bowl of sabudana khichdi with tapioca pearls, potato, peanuts and coriander beside a lemon wedgeIndian

Sabudana Khichdi

Soft, separate pearls of tapioca tossed with crunchy peanuts, potato, cumin and green chilli. A light, gluten-free breakfast that comes together quickly once the sabudana is soaked.

40 minServes 4
Golden lacy appams with fluffy white centres served with vegetable stew on a banana leafIndian

Appam

Soft, bowl-shaped rice and coconut pancakes from Kerala, with a fluffy white centre and crisp lacy edges. Start the batter the day before for a gentle sweet-sour flavour.

1 hServes 4
Golden medu vada doughnut-shaped fritters on a plate with coconut chutney and sambar, one broken open to show a soft centreIndian

Medu Vada

Crisp-shelled, fluffy-centred South Indian doughnut fritters made from ground urad dal, black pepper and curry leaves. A satisfying breakfast to dunk in chutney and sambar.

4 h 55 minServes 4