1. Wash the basmati rice(long grain rice). Soak the washed rice for 5 minutes. Drain off the water completely. Boil water with salt.
2. Heat ghee in a pan. Add bay leaves, cardamom, fennel seed, aniseed, cinnamon, cloves and pepper. Saute it for a couple of minutes. Add onions and fry till golden brown. Add rice, lemon juice and stir for about 5 minutes or till the grains become soft when you bite it. Pour boiled water and cook till it is done. Then using a fork stir the rice so that the grains separate out and keep it open so that excess water, if any, will evaporate completely.
3. Cut fish into pieces.. Marinate fish pieces with chilly powder, turmeric powder, pepper powder and salt for 30 minutes (pref. in the refrigerator).
4. Fry the marinated fish pieces in oil. In the same oil used to fry the fish, add sliced onions and fry on a simmering flame, till it becomes golden brown. Add ginger-garlic-green chilly paste, coriander-mint-curry leaves paste, and tomato. Saute it for nearly 6 minutes. Keep the flame medium. Stir it for 6 minutes. Add curd, coconut milk, and salt and stir it for 5 minutes. Add fried fish pieces and reduce the flame. Cook till it becomes a good thick gravy.
5. Roast cashew nuts, raisins and onion in a small wok(deep brown). Take a deep bottomed vessel and layer rice, fish masala, Roasted nuts, raisins & roasted onions alternatively. Pour 2 tablespoons of ghee and tightly cover with a lid. Keep it on a very low flame for 10 minutes.(Alternatively you can bake it in an oven for 10 minutes at 180 degrees). Traditionally the lid is sealed with Maida, and coconut husk embers are kept on top.
6. Serve the Biriyani hot with Onion Raita.