Wash the long grain rice (I use Sinnara),soak the washed rice for 10 minutes and drain it completely.
Boil 7cups water with salt, heat ghee in a deep bottom pan, add all whole masala (for rice) stir for a minutes, add sliced onion and fry till golden brown, now add rice,lemon juice and stir for about 5 minutes or till the grains become soft when you bite it. Then add boiled water, stir well and cover with a lid, cook until it is done.
Once it is done off the flame, then using a fork stir the rice, so that the grains separate out and keep it open until the excess water (if any) will evaporate completely.
Marinate the fish with above mentioned ingredients, keep aside for 20minuts.
Grind all the above mentioned ingredients and crush ginger, garlic and green chilly, keep aside.
Heat oil in a pan and shallow fry (half fry) the fish and keep aside, in the same oil, add chopped onion, crushed ginger, garlic and green chilly, chopped leaves and chopped tomatoes, saute it for 5 minutes.
Now add remaining masalas along with curd,salt and ground coconut paste, stir for 3 minutes.
Add fried fish pieces except one piece (crush this piece of fish and keep aside), now reduce flame and cook till it becomes a good thick gravy.
Fry cashew nuts, raisins and onion until light brown, now remove them from the pan, add chopped leaves and garam masala, combine well and keep aside.
Take a deep bottom vessel, spread little ghee and make a layer rice then fish masala, now sprinkle little roasted nuts and little crushed fish alternatively,Make sure first and last layer should be rice, soak 2 pinch of saffron in 5 tbsp coconut milk and pour on the to layer, finally pour 2 tbsp ghee and sprinkle roasted nuts and crushed fish on top of final layer rice, then tightly cover with a lid and keep it on a very low flame for 10 minutes. (alternatively you can bake it in a oven for 10 minutes). Traditionally the lid is sealed with maida dough.
Malabar fish biriyani is ready to serve, Enjoy!!!!!!!!!!!!!!!!!!!