Dilute the tamarind paste using 1/2 cup water and set aside.
Wash the curry leaves and set aside.
Clean the fish and wash it once. Drain the water and sprinkle some salt over the fish and let it sit for 2 minutes. Wash the fish again and drain any excess water or pat dry it.
In a heavy bottom non stick pan, heat 2 tbsp oil (add more if required) and shallow fry the fish in batches (on high heat) till the fish turns just golden (approximately half a minute each side)
Remove the fillets on an absorbent sheet or kitchen towel to remove excess oil.
In the same pan that you fried the fish, add 2 tbsp of oil. Heat the oil and add the mustard seeds and fenugreek seeds. Once they begin to crackle, add the onions. On medium high heat, fry the onions till they turn golden in colour.
Add ginger garlic paste and fry till they become aromatic and golden in colour. Add the curry leaves.
Reduce the heat and add the tamarind water. Along with it add the dry spices and salt. Increase the heat to medium high again and saute till the water is almost absorbed.
Now add the coconut milk and reduce the heat again (to prevent the coconut milk from splitting). Add the fried fish pieces and very gently stir the curry.
Add the remaining 1/4 Cup water and increase the heat and let the curry come to a boil. Reduce the heat again to minimum and allow the curry to simmer covered for 3 - 4 minutes.
Garnish with chopped fresh coriander and serve hot with steamed rice.
Note: Adjust the amount of chilies and tamarind as per taste. If the tamarind seems to be more, add some coconut milk or half a tea spoon of sugar.
Note: I suggest you cook this curry at least an hour before you intend to serve it to help steep the flavors. This way the curry tastes much better than when served immediately. In fact it tastes even better the next day.