Hyderabadi Machli ka Salan
A tangy, spicy fish curry from the royal kitchens of Hyderabad. Tender pieces of fish are gently simmered in a rich gravy of roasted sesame, peanuts, coconut, and tamarind. Flavored with whole spices and finished with fresh coriander, it pairs beautifully with steamed rice or naan.
For 4 servings
- prep · ~15 min
Marinate the fish.
1.Place fish chunks in a mixing bowl.2.Add 1 pinch salt, 1 pinch turmeric powder, and 1 tbsp lemon juice.3.Toss gently to coat all pieces evenly.4.Set aside to marinate for 15 minutes.TIPUse firm-fleshed fish like kingfish (surmai) so the pieces don't break apart during cooking. - fry · ~5 min
Shallow fry the fish.
1.Heat 2 tbsp oil in a frying pan over medium heat until shimmering.2.Place marinated fish pieces in a single layer without crowding.3.Fry for 2 minutes per side until lightly golden but not cooked through.4.Remove fish carefully and set aside on a plate.TIPDon't overcook the fish at this stage — it will finish cooking in the gravy. Overcooked fish turns rubbery. - prep · ~15 min
Prepare the seed-coconut paste.
1.In a small pan over low heat, dry roast 2 tbsp sesame seeds until golden and popping (1-2 min).2.Add 2 tbsp peanuts and continue roasting until fragrant (2 min).3.Add 2 tbsp desiccated coconut and stir until golden brown (1 min).4.Remove from heat and let cool completely.5.Transfer to a blender with 1/4 cup water and grind to a smooth paste.6.Soak tamarind pulp in 1/2 cup warm water for 10 minutes, then squeeze and strain. Keep the extract aside.TIPRoast each ingredient separately for even browning. Sesame burns fast — keep the heat low and stir constantly. - saute · ~12 min
Build the aromatic base.
1.Heat 2 tbsp oil in a heavy-bottomed pan over medium heat.2.Add 1/2 tsp cumin seeds, 1 pinch fenugreek seeds, and 1 pinch nigella seeds. Let sizzle for 30 seconds.3.Add 2 finely sliced onions and sauté until deep golden brown (8-10 min).4.Add 8 curry leaves and stir until they crackle (30 sec).5.Add 2 tsp ginger-garlic paste and cook until raw smell disappears (1 min).6.Add 3 slit green chilies and sauté for 30 seconds.TIPPatience with onions — deep golden color equals depth of flavor. Don't rush this step by raising the heat. - saute · ~1 min
Cook the spice powders.
1.Lower the heat to avoid burning.2.Add 1 tsp red chili powder, 1 tsp coriander powder, and 1 pinch turmeric powder.3.Stir continuously and cook for 30-40 seconds until the raw aroma disappears.4.Splash 2 tbsp water if the spices start sticking.TIPDry spices burn fast and turn bitter. Keep the flame low and stir non-stop once you add them. - simmer · ~15 min
Simmer the gravy with the nut-seed paste.
1.Add the ground sesame-peanut-coconut paste to the pan.2.Stir well and cook for 3-4 minutes until oil starts separating from the mixture.3.Pour in the strained tamarind extract and 2 cups of water.4.Add 1/2 tsp salt and stir everything together.5.Bring to a boil, then reduce heat to low and let it simmer for 10 minutes until the gravy thickens slightly.TIPSimmer uncovered and stir occasionally. The gravy should thicken naturally — don't rush by boiling it vigorously. - simmer · ~6 min
Add fish and finish cooking.
1.Gently slide the shallow-fried fish pieces into the simmering gravy.2.Do not stir vigorously — gently shake the pan to coat the fish with gravy.3.Simmer on low heat for 5-6 minutes until fish is cooked through and tender.4.Sprinkle 1/2 tsp garam masala on top.TIPLet the fish absorb the flavors. Stirring heavily will break the delicate pieces. A gentle swirl of the pan is enough. - garnish
Garnish with chopped coriander leaves and serve hot.
Transfer to a serving bowl and scatter fresh coriander leaves on top. Serve hot with steamed rice or naan.
What to keep in mind.
7 tips from the recipe — small details that make a real difference to the final dish.
- 1Use firm-fleshed fish like kingfish or tilapia so the pieces hold their shape in the gravy.
- 2Don't skip the shallow-fry step — it seals the fish and adds a subtle golden crust that boosts texture.
- 3Roast sesame seeds on low heat and stir constantly; they burn in seconds and turn bitter.
- 4Cook the onions until deep golden brown — this builds the rich, caramelized base of the curry.
- 5Add the fried fish gently to the simmering gravy and only swirl the pan; stirring breaks the fish.
- 6Simmer the gravy uncovered so it thickens naturally without becoming too pasty.
- 7This curry tastes even better the next day — store it in the fridge and reheat gently.
Adapt it for your goals.
Chicken alternative
Swap the fish for 500 g bone-in chicken pieces. Marinate for 30 minutes, sear until golden, then simmer in the gravy for 20–25 minutes until cooked through. A great option for non-seafood lovers.
veganVegan
Replace fish with 300 g firm tofu (pressed and cubed) or 2 cups cauliflower florets. Marinate and shallow-fry the same way. Use vegan-friendly sugar-free tamarind and skip the garam masala if it contains non-veg ingredients.
low oilLow-oil
Skip the shallow-fry step and instead poach the marinated fish directly in the simmering gravy for 8–10 minutes. Reduce oil in the gravy to 1 tbsp — the nut paste adds enough richness.
extra spicyExtra-spicy
Increase red chili powder to 1.5 tsp and add 2 more slit green chilies. For a deeper heat, include 1 tsp freshly ground black pepper. Serve with cooling raita to balance the spice.
Why this is on our healthy list.
Rich in Omega-3 Fatty Acids
The fish (especially kingfish or tilapia) provides a good dose of heart-healthy omega-3s, which support brain function and reduce inflammation.
Good Source of Plant Protein
Peanuts add plant-based protein and healthy fats, making the curry more satiating and balanced.
Antioxidant-Rich Spices
Turmeric, curry leaves, and ginger-garlic paste contain anti-inflammatory compounds like curcumin and flavonoids that support immunity.
Digestive Aid from Tamarind
Tamarind is a natural source of tartaric acid and dietary fiber, which can help improve digestion and regulate bowel movements.
Frequently asked questions
Yes, but thaw the fillets completely in the fridge, pat them very dry with paper towels, and marinate as directed. Excess moisture will make the fish steam instead of fry.



