Skip to content
Zaffaron

Khoresh Kari ba Mahi (خورش کاری با ماهی) — Persian-Style Coconut Fish Curry

A Southern Iranian coastal khoresh where tender white fish simmers in a creamy coconut-cashew curry. Tamarind and lemon add bright tang, balancing warm spices for a fragrant, restaurant-style finish.

By Zaffaron Kitchen· Published April 7, 2026 Verified Recipe
Gluten-Free Halal
Contains: dairy, tree nuts, fish
55 min total Prep 20m · Cook 35m 4 servings 520 cal
↓ Jump to Recipe
Khoresh Kari ba Mahi — Persian-Style Coconut Fish Curry - authentic persian recipe

Printable Recipe Card

Servings: 4 · Total: 55 min · Difficulty: medium

Ingredients (quick list)

  • 700 g white fish fillets (cod, halibut, or sea bass) (cut into 5–6 cm pieces)
  • 30 ml lemon juice (for marinating)
  • 6 g fine salt (about 1 tsp)
  • 1 tsp black pepper
  • 250 g onion (finely diced)
  • 12 g garlic cloves (about 4 cloves, minced)
  • 30 ml neutral oil (such as sunflower or canola)
  • 2 tsp ground turmeric
  • 1.5 tsp ground cumin
  • 2 tbsp curry powder (a mild-to-medium blend)
  • 40 g coconut powder (unsweetened desiccated coconut, finely ground) (or coconut flour labeled unsweetened)
  • 50 g cashew powder (finely ground cashews) (grind raw or roasted unsalted cashews)

+ 4 more in the full ingredients section below.

Steps (summary)

  1. Marinate the fish pieces with lemon juice, 6 g salt, and black pepper in a bowl. Mix gently so the fillets stay intact, then re…
  2. Dissolve the tamarind paste in 120 ml hot water, stirring until smooth. Let it sit for 5 minutes, then press through a fine sie…
  3. Heat the oil in a wide pot over medium heat and add the diced onion. Cook for 10–12 minutes, stirring often, until the onion tu…
  4. Add the minced garlic and cook for 60–90 seconds until fragrant. Stir constantly so the garlic does not brown, because bitterne…
  5. Add turmeric, cumin, and curry powder and toast the spices for 45–60 seconds. Keep stirring to bloom the aromatics in the oil,…
  6. Sprinkle in the coconut powder and cashew powder and stir for 1 minute to lightly toast them. This step prevents a raw, floury…

+ 4 more steps in the full instructions section below.

Cultural Background

Inspired by Southern Iran’s coastal cooking, this khoresh reflects Indian Ocean trade flavors—coconut, curry spices, and sour tamarind—adapted to Persian stew technique. It’s a celebratory seafood dish often served with rice for family gatherings.

savorytangywarm-spicednuttytender fishvelvety thick saucecoconut richnesstoasted curry spicesgarlic-onion sweetness🌶 mild

Equipment

wide heavy-bottomed pot with lidcutting board and knifefine grater or garlic pressmeasuring spoonssmall bowl for tamarindfine sieve (optional)whisk or wooden spoon

💡 Tips

  • For the smoothest sauce, grind cashews to a fine powder and whisk the water in gradually to prevent clumps.
  • Keep the simmer gentle after adding fish; vigorous boiling will break fillets and can split the cream.
  • If the sauce thickens too much, add 30–60 ml hot water and simmer 2 minutes to re-balance the texture.

⚠️ Common Mistakes

  • ❌ Boiling the stew hard after adding cream or fish.

    ✅ Fix: Keep heat low and aim for a gentle simmer; reheat slowly and never let it bubble aggressively.

  • ❌ Lumpy sauce from adding liquids too quickly to nut and coconut powders.

    ✅ Fix: Whisk in water gradually and stir constantly; if needed, pass the sauce through a sieve before adding fish.

  • ❌ Overcooking the fish until it turns dry and flakes into the sauce.

    ✅ Fix: Cook covered on low just until opaque (8–10 minutes for thick pieces), then rest off heat to finish gently.

🧊 How to Store

Cool leftovers within 2 hours, then refrigerate in a sealed container for up to 2 days. Reheat gently in a pot over low heat with 30–60 ml water, avoiding boiling so the cream sauce stays smooth and the fish doesn’t dry out.

📅 Make Ahead

Prepare the onion-spice base and whisk in coconut/cashew with liquids up to 24 hours ahead, then refrigerate. Reheat gently and add cream and fish just before serving for the best texture.

🍽️ Pairs Well With

  • Steamed Persian rice
  • sabzi khordan
  • torshi
  • thinly sliced cucumber and radish
  • lime wedges.

Regional Variations

  • Bandari-style: add 1 tsp ground coriander and 1 tsp paprika, and finish with 10 ml lime juice for a brighter, spicier edge.
  • Hormozgan-style: replace part of the water with 200 ml coconut milk and reduce cream to 60 ml for a more coconut-forward sauce.
  • Bushehr-style: add 1 tbsp tomato paste toasted with the spices for a deeper color and slightly sweeter base.
everyday party ramadan nowruz
#classic#family-style#gluten-free

Ingredients

  • 700 gwhite fish fillets (cod, halibut, or sea bass) (cut into 5–6 cm pieces)
  • 30 mllemon juice (for marinating)
  • 6 gfine salt (about 1 tsp)
  • 1 tspblack pepper
  • 250 gonion (finely diced)
  • 12 ggarlic cloves (about 4 cloves, minced)
  • 30 mlneutral oil (such as sunflower or canola)
  • 2 tspground turmeric
  • 1.5 tspground cumin
  • 2 tbspcurry powder (a mild-to-medium blend)
  • 40 gcoconut powder (unsweetened desiccated coconut, finely ground) (or coconut flour labeled unsweetened)
  • 50 gcashew powder (finely ground cashews) (grind raw or roasted unsalted cashews)
  • 30 gtamarind paste (seedless concentrate)
  • 120 mlhot water (to dissolve tamarind)
  • 350 mlwater
  • 120 mlheavy cream (30–35% fat)

🔄 Substitutions

  • white fish fillets→ shrimp (peeled, deveined)
  • heavy cream→ coconut milk
  • tamarind paste→ pomegranate molasses

Instructions

  1. 1

    Marinate the fish pieces with lemon juice, 6 g salt, and black pepper in a bowl. Mix gently so the fillets stay intact, then refrigerate for 15 minutes to firm the fish and reduce any strong aroma.

  2. 2

    Dissolve the tamarind paste in 120 ml hot water, stirring until smooth. Let it sit for 5 minutes, then press through a fine sieve if your paste is fibrous so the stew stays silky.

  3. 3

    Heat the oil in a wide pot over medium heat and add the diced onion. Cook for 10–12 minutes, stirring often, until the onion turns deeply golden; this sweetness is essential for balancing the tamarind.

  4. 4

    Add the minced garlic and cook for 60–90 seconds until fragrant. Stir constantly so the garlic does not brown, because bitterness will dull the coconut and cashew flavors.

  5. 5

    Add turmeric, cumin, and curry powder and toast the spices for 45–60 seconds. Keep stirring to bloom the aromatics in the oil, which gives the khoresh its warm coastal perfume.

  6. 6

    Sprinkle in the coconut powder and cashew powder and stir for 1 minute to lightly toast them. This step prevents a raw, floury taste and helps the sauce thicken evenly later.

  7. 7

    Slowly pour in 350 ml water while whisking or stirring vigorously to avoid lumps. Add the prepared tamarind liquid, bring to a gentle simmer, and cook uncovered for 10 minutes so the flavors meld and the sauce begins to thicken.

  8. 8

    Lower the heat to maintain a very gentle simmer and stir in the heavy cream. Cook for 3 minutes, then taste and add the remaining 4 g salt; the sauce should be tangy, nutty, and softly spiced.

  9. 9

    Nestle the marinated fish pieces into the sauce in a single layer. Cover and cook on low for 8–10 minutes, shaking the pot gently once or twice instead of stirring, until the fish is opaque and flakes easily.

  10. 10

    Rest the khoresh off the heat for 5 minutes so the sauce settles and the fish stays juicy. Serve warm with steamed rice, spooning plenty of coconut-cashew curry over each portion.

🪪 Recipe Passport

Origin: Persian Cuisine
Researched by: Zaffaron Kitchen
Published: April 7, 2026

Cultural Background

Inspired by Southern Iran’s coastal cooking, this khoresh reflects Indian Ocean trade flavors—coconut, curry spices, and sour tamarind—adapted to Persian stew technique. It’s a celebratory seafood dish often served with rice for family gatherings.

Regional Variations

Bandari-style: add 1 tsp ground coriander and 1 tsp paprika, and finish with 10 ml lime juice for a brighter, spicier edge.
Hormozgan-style: replace part of the water with 200 ml coconut milk and reduce cream to 60 ml for a more coconut-forward sauce.
Bushehr-style: add 1 tbsp tomato paste toasted with the spices for a deeper color and slightly sweeter base.

Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.

Share:

Nutrition per serving

520
Calories
41g
Protein
33g
Fat
15g
Carbs
3g
Fiber
820mg
Sodium

Pairs well with

If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.

Does your family make this differently?

Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.

You Might Also Like

Reviews

—
Rated 0.0 out of 5 stars
0 reviews

Cooked this recipe?

Tap the stars to rate it — that's all it takes. A few words are welcome but optional.

Please sign in to rate this recipe.
Rated 0.0 out of 5 stars

No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.