Clean the fish with salt, vinegar & turmeric & set aside for 15 mins. Rinse in fresh water and place on a colander to drain off. Pat dry and apply a marinade of red chilly or bafat powder, salt & vinegar & set aside for 30 mins. Fry the fish lightly, remove & allow to cool. If you are using king fish carefully remove the skin & bones to ensure that the pieces don't break.
Mix the biryani masala with the curds and keep aside. Lightly fry the chopped tomatoes in a small non stick pan till it turns mushy. Grind all the ingredients mentioned under 'For the green masala' to a fine paste. Reserve the masala water from the mixie.
Heat ghee on a medium flame in a heavy bottomed pan and add the curry leaves and onions and fry them till golden. Add the curd & masala mixture and fry well. Toss in the bay leaves and fry.
Add the ground masala and continue to fry till the mixture turns to a brownish green. Mix in the fried tomato. Add the reserved masala water and adjust the consistency of the gravy to medium thickness.
When the gravy begins to bubble carefully add the fried fish pieces and cover them with the gravy. Allow it to simmer for a minute (do not overcook as the fish is already fried) and turn off the flame.