Marinate the cleaned fish pieces with turmeric (1/4 tsp), chilli powder (2tsp) & salt. No water is added. Keep it aside for 15-20 mins.
Heat oil (for shallow frying) in a wide pan. Fry the marinated fish pieces till it's half cooked. Keep it aside.
In the same oil, fry the half of sliced onion, till it's golden brown. Drain the onion. Once the onion is cooled a bit, add garam masala to this and mix well using your hands and crush them. Keep it aside.
Remove excess oil from the pan (you need around 1 -2 tbsp oil to make the masala).
Bring back the pan to fire and add the remaining sliced onion. Cook till it becomes golden brown.
Add crushed ginger 7 garlic. Fry for 2-3 mins.
Add turmeric, chilli & coriander powder. Fry for 2-3 mins, till the oil starts appearing. You can add 1-2 tbsp hot water in between to bring together the masala.
Add chopped tomato & cook till it softens.
Add 1 cup water & bring it to boil. Simmer for 6-8 mins, till the water is reduced and the gravy has become thick. Add fried fish pieces and crushed fried onion to the gravy. Mix gently to make sure the fish pieces are coated well with the masala.
Cover & cook for 5-7 mins. Add chopped coriander leaves and mix it. Remove from fire.
Let the dish rest for half an hour for the flavour to settle in.