Skip to content
Goan Fish Xacuti (Coconut Spice Curry)
indiandinner✨ New

Goan Fish Xacuti (Coconut Spice Curry)

Goa's deeply spiced coconut fish curry — roasted whole spices ground with toasted coconut into a dark, complex masala simmered with fresh seafood.

Prep
30 min
Cook
40 min
Servings
4
Difficulty
Medium
4.8
Sign in to rate
#indian#goan#fish#curry#coconut#seafood

About This Recipe

Xacuti (pronounced 'sha-koo-ti') is one of Goa's most distinctive curries — a dish that reflects the territory's unique culinary mash-up of Portuguese, Konkani, and African influences, traced back to 16th-century colonial trade routes. The name comes from the Portuguese 'chacuti,' meaning a complex spice blend. What sets xacuti apart from other Indian coconut curries is the masala technique: whole spices (a long list — coriander, cumin, fennel, peppercorn, mace, nutmeg, star anise, cloves, cinnamon, and dried Kashmiri chilies) are dry-roasted along with grated coconut until everything turns deep mahogany, then ground with raw onion, ginger, garlic, and tamarind into a paste so dark and aromatic it looks like wet earth. Traditionally made with chicken or mutton, the fish version (using kingfish, pomfret, or mackerel) is a Christian-Goan specialty served at Sunday lunches in Panaji and along the Salcete coast. The flavor is genuinely complex — toasty from the roasted coconut, sweet-warm from the brown spices, sour from tamarind, fresh from coconut milk, and properly hot from the chilies. Eaten with steamed rice or pão (Goan crusty rolls), it's a curry of layered, almost wine-like depth.

Ingredients

Serves 4

  • 700 gfirm white fish (kingfish, pomfret, monkfish, or sea bass), cut into 4 cm steaks
  • 150 gfreshly grated coconut (or frozen, thawed)
  • 10 gcoriander seeds
  • 5 gcumin seeds
  • 3 gfennel seeds
  • 5cloves
  • 1 stickcinnamon
  • 1star anise
  • 0.5 tspblack peppercorns
  • 0.25nutmeg, grated
  • 1 blademace
  • 6dried Kashmiri chilies, seeded
  • 1 largeonion, sliced
  • 20 gginger, sliced
  • 6 clovesgarlic
  • 1 tbsptamarind pulp
  • 30 mlcoconut oil
  • 400 mlcoconut milk
  • 10 gsalt
  • 1 tspturmeric (for marinating fish)

Instructions

  1. 1

    Marinate the fish

    Rub fish steaks with turmeric, half the salt, and a teaspoon of tamarind pulp. Rest 20 minutes — this firms the flesh and protects it from breaking during cooking.

  2. 2

    Dry-roast the coconut

    Heat a dry heavy pan over medium-low. Add grated coconut and stir constantly 8–10 minutes until deep golden-brown and fragrant. Patience is key — coconut burns fast at the end. Tip onto a plate.

  3. 3

    Dry-roast the spices

    In the same pan, add coriander, cumin, fennel, cloves, cinnamon, star anise, peppercorns, mace, and dried chilies. Toast 3 minutes until aromatic and a shade darker. Remove from heat and let cool before grinding.

  4. 4

    Roast the onions

    Add a teaspoon of coconut oil to the pan and fry sliced onion 8 minutes until deeply caramelized. Add ginger and garlic in the last 2 minutes.

  5. 5

    Grind the masala

    Combine roasted coconut, toasted spices, fried onion mixture, nutmeg, and remaining tamarind in a blender. Add 200 ml water and grind 3 minutes until you have a thick, very dark, smooth paste. This is the xacuti masala.

  6. 6

    Bloom the masala

    Heat remaining coconut oil in a wide pan over medium heat. Add the ground masala and fry 8 minutes, stirring constantly, until oil separates and the paste turns even darker — this 'oil-out' stage is critical for proper flavor.

  7. 7

    Build the curry

    Add 250 ml water and coconut milk to the pan. Bring to a gentle simmer and cook 5 minutes. Taste and adjust salt and sourness (add more tamarind if needed).

  8. 8

    Cook the fish gently

    Slide the marinated fish steaks into the simmering curry in a single layer. Reduce heat to very low, cover, and cook 8 minutes — do not stir or the fish will break. Tilt the pan to baste once. Rest 5 minutes off heat before serving with steamed rice or Goan pão.

Did you make this?

Rate it and help other cooks find the recipes that actually work.

One tap to sign in, and we'll save the rating you just picked.

Everything you need to plan your week — free

  • Meal calendar
  • Grocery list
  • AI recipe ideas

Track what you eat

Snap your meal to log calories and macros, run fasting timers and track water in the free SnapCal app.

Download Now

Pro Tips

  • →

    Fresh-grated coconut gives the best flavor — frozen grated coconut is the next best (thaw first). Desiccated coconut works at a pinch but the texture and flavor are flatter.

  • →

    Roast the coconut and spices separately — they brown at different rates, and burning either ruins the whole curry.

  • →

    Kashmiri chilies give color without overwhelming heat. For extra heat add a couple of bird's eye chilies; for milder reduce to 4 Kashmiri.

  • →

    Don't stir fish vigorously once added — tilt and baste the pan gently. Fish steaks break easily.

Variations

  • •

    Goan chicken xacuti — the more famous version; replace fish with bone-in chicken thighs, increase simmer time to 30 minutes after adding meat.

  • •

    Mutton xacuti — slow cook diced mutton in the masala for 90 minutes before finishing with coconut milk.

  • •

    Prawn xacuti — substitute large prawns; add only in the final 5 minutes to avoid overcooking.

  • •

    Vegetarian: use jackfruit chunks or paneer plus mixed vegetables; cook the masala the same way but adjust simmer time.

Storage

Refrigerates 2 days (fish curries don't keep as long as meat ones). Freezes 1 month — reheat very gently to prevent fish breaking. Masala paste alone can be made ahead and refrigerated 1 week or frozen 3 months.

History & Origin

Xacuti developed in Portuguese-colonial Goa over the 16th–18th centuries, fusing Konkani spice technique with Portuguese-introduced ingredients like chilies and the coastal Goan affinity for coconut. The name derives from Konkani-Portuguese culinary slang; the dish is now considered a defining specialty of Goa's Christian-Catholic culinary tradition.

Frequently Asked Questions

Can I use canned coconut for the roasting step?

No — only fresh or frozen grated coconut can be dry-roasted. Coconut cream or canned coconut milk goes in at the end. Desiccated coconut is the absolute last resort.

What can replace tamarind?

A tablespoon of fresh lime juice or 2 teaspoons of white vinegar mixed with brown sugar approximates the sweet-sour tang, though true tamarind has a fruitier complexity.

Is xacuti very spicy?

Moderate — Kashmiri chilies provide color and warmth without searing heat. Adjust by adding hotter chilies if you want more burn, or removing seeds from the Kashmiri for less.

Can I make this with pre-ground spices?

You can, but the flavor will be considerably less complex. Whole spices toasted and freshly ground are the soul of the dish — store-ground spices have lost most volatile aromatics.

Nutrition Facts

Per serving (380g / 13.4 oz) · 4 servings total

Calories460kcal
Protein36g
Carbohydrates16g
Fat28g
Fiber5g
Protein36g
Carbs16g
Fat28g

Time Summary

Prep time30 min
Cook time40 min
Total time70 min

Have Questions?

Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.

Chat with AI Chef →

Community

Join the conversation

Sign in to leave a comment and save your favourite recipes