I’ve been making this coconut fish curry for years, and it never fails to transport me straight to the spice markets of Kerala. The first time I tried something similar was at a friend’s dinner party, and I spent the entire evening trying to figure out how to make a kosher version that wouldn’t compromise on flavor.
The key to this curry lies in building layers of flavor, starting with properly bloomed whole spices. I always toast my cumin seeds, coriander, and cardamom pods in the oil until they smell absolutely incredible. Then comes the onion base, cooked until it’s golden and sweet, followed by fresh ginger and garlic that get sautéed just until fragrant. The tomatoes break down into a rich, thick sauce that forms the backbone of the curry.
Building the Perfect Spice Base
What makes this version work so well is using firm white fish like halibut or cod that won’t fall apart during cooking. I cut the pieces larger than you might think, about 2 inches, because they’ll shrink slightly as they cook. The coconut milk goes in toward the end, and here’s something important: don’t let it boil hard once you add the fish, or you’ll end up with tough, rubbery pieces instead of tender, flaky fish.
Why Fish Selection Matters in Coconut Curry
This curry is perfect for Shabbat dinner or any weeknight when you want something that feels special but doesn’t require hours of prep. I serve it over basmati rice with some warm naan on the side, and it always gets rave reviews. The leftovers are even better the next day, though the fish won’t be quite as tender if you reheat it too aggressively.

Ingredients
Method
- Pat the fish pieces completely dry with paper towels and season lightly with salt. Set aside at room temperature while you prepare the curry base.
- Heat the oil in a large, heavy-bottomed pot or Dutch oven over medium heat. Add the cumin seeds, coriander seeds, and cardamom pods. Cook for 1-2 minutes until fragrant and the seeds start to pop.
- Add the chopped onion to the pot and cook for 8-10 minutes, stirring occasionally, until golden brown and softened.
- Stir in the minced garlic and ginger, cooking for another minute until very fragrant.
- Add the diced tomatoes, turmeric, ground cumin, paprika, and cayenne. Cook for 5-6 minutes, stirring frequently, until the tomatoes break down and form a thick sauce.
- Pour in the coconut milk and bring the mixture to a gentle simmer. Add 1 teaspoon of salt and taste for seasoning.
- Carefully nestle the fish pieces into the simmering curry. Cover and cook for 8-10 minutes, or until the fish flakes easily with a fork. Don't stir vigorously to avoid breaking up the fish.
- Remove from heat and gently stir in the lime juice. Taste and adjust salt and lime juice as needed.
- Garnish with fresh cilantro and serve immediately over basmati rice.
