Goa's deeply spiced coconut fish curry — roasted whole spices ground with toasted coconut into a dark, complex masala simmered with fresh seafood.
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.
Serves 4
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
Per serving (380g / 13.4 oz) · 4 servings total
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →Join the conversation
Sign in to leave a comment and save your favourite recipes