Worked out from this recipe's ingredients. If you're cooking for an allergy, always read the full ingredient list.
A restaurant-style Indian fish curry where the work happens before the fish does. Onions are cooked down to jammy gold, tomatoes are reduced until the oil separates, and only then do turmeric-rubbed fillets slide in to poach gently in coconut milk for 6 to 8 minutes — long enough to cook through, short enough to stay in whole, glossy pieces. Tamarind and a curry-leaf tempering give it the bright, savory finish of a coastal seafood house.
Ingredients
Fish
1.5 lb firm white fish fillets (halibut, cod, kingfish, or snapper), skinless, cut into 2-inch pieces
1 can (13.5 oz) full-fat coconut milk, stirred smooth
3/4 cup water or light fish stock
2 tsp tamarind concentrate, or 1 tbsp tamarind paste
1/2 tsp sugar
2 tbsp cilantro, chopped
Lime wedges, for serving
Steamed basmati rice, for serving
Instructions
Pat the fish very dry with paper towels. In a bowl, toss the pieces with 1/2 tsp turmeric, 3/4 tsp salt, and the lemon juice until evenly coated. Cover and refrigerate 20 minutes while you build the masala — this firms the surface so the fillets hold together in the curry.
Heat the coconut oil in a wide 12-inch skillet or shallow Dutch oven over medium heat until it shimmers. Add the mustard seeds and cook 30 to 45 seconds until they pop steadily, then add the fenugreek seeds and 10 of the curry leaves. Stand back — they will spatter. Fry 20 seconds until fragrant.
Add the chopped onion and 1/4 tsp of the salt. Cook over medium heat, stirring every couple of minutes, for 14 to 16 minutes, until the onions collapse and turn deep golden brown at the edges. Do not rush this; the sweetness here is the backbone of the curry. If they darken too fast, lower the heat and add a splash of water.
Stir in the garlic, ginger, and slit green chiles. Cook 2 minutes until the raw garlic smell is gone.
Add the tomatoes and the remaining 1 tsp salt. Raise the heat to medium-high and cook 8 to 10 minutes, mashing the tomatoes against the pan with your spoon, until they break down into a thick paste and you see the oil separating and pooling at the edges. This is the sign the masala is fully built.
Lower the heat to medium-low. Add the Kashmiri chile powder, coriander, 1/2 tsp turmeric, cumin, and black pepper. Fry the spices in the masala for 60 to 90 seconds, stirring constantly so they toast without scorching.
Pour in the coconut milk and water, then stir in the tamarind concentrate and sugar. Bring to a bare simmer (small bubbles only, around 185°F) and cook uncovered for 8 minutes to marry the flavors. Taste and adjust salt and tamarind — the sauce should be savory, tangy, and slightly sweet, and coat the back of a spoon. Never let it boil hard, or the coconut milk will break.
Slide the fish pieces into the sauce in a single layer, spooning a little curry over the tops. Do not stir. Cover and poach at a gentle simmer for 6 to 8 minutes, depending on thickness, until the fish is opaque and flakes when nudged with a paring knife (145°F at the thickest point). Baste once or twice by tilting the pan and spooning sauce over the fish instead of stirring.
Turn off the heat. Scatter the remaining 5 curry leaves and the cilantro over the top, cover, and let the curry rest off the heat for 5 minutes — it thickens slightly and the fish absorbs the sauce.
Serve straight from the pan over steamed basmati rice, lifting the fish with a wide spoon, with lime wedges alongside.
Chef's tips
Choose thick, firm fillets at least 1 inch thick. Thin flatfish like sole or tilapia will shred; halibut, cod loin, snapper, or kingfish steaks hold their shape beautifully.
The masala can be made up to 3 days ahead through step 6 and refrigerated. Reheat with the coconut milk and water, then poach the fish just before serving.
If your only tamarind is a block, soak a walnut-sized piece in 1/4 cup hot water for 10 minutes, squeeze, and strain out the seeds and fibers.
Fresh curry leaves are worth seeking out at an Indian or Asian grocer and freeze well; dried ones add little. If you can't find them, add 1 bay leaf with the onions and finish with extra cilantro.
Leftovers are excellent, but reheat gently in a covered pan over low heat — a microwave will overcook the fish and split the sauce.
Nutrition (per serving, estimated)
487calories
36gprotein
17gcarbs
30gfat
Estimates only — values vary with brands and portions.
Made with Sprig
Coastal Fish Curry with Slow-Built Onion-Tomato Masala was created in Sprig — the AI chef that turns any craving into a complete recipe, plans your week, and shops with one smart list.