1. Take 250 gm onions and cut them into thin slices. Heat oil and 1/2 cup ghee in a pan, and fry the onion till golden brown. Fry cashew nuts and raisins and keep aside.
2. Apply turmeric powder with enough salt and little water on the fish.
3. Heat 2 tablespoons oil in a frying pan. Lightly fry the fish till half done and keep aside.
4. In a heavy-bottomed vessel, heat 3 tablespoons of oil. Grind the remaining onion in a blender with 1/2 cup water. Add this onion mixture to the hot oil.
5. Meanwhile crush ginger, garlic and chillies. Add this paste to the onion mixture. Stir well for 3-4 minutes.
6. Add tomatoes, yoghurt and salt. Cook for some time till the water evaporates. Add the fried fish pieces, coriander leaves and the juice from the lemons. Keep aside.
For the Rice:
1. Heat ghee in a non-stick vessel. Add 1/2 chopped onion, cardamoms and cinnamon. Immediately add the washed rice (drain without any water).
2. Add boiled water (1:2 ratio) and salt and cook on high flame till the water is absorbed by the rice.
3. Keep the rice covered for 10 minutes. Sprinkle garam masala powder over the rice.
4. Now take a heavy bottomed vessel and add the cooked rice in one layer at the bottom. Add a few spoons of the fish masala. Toss some fried onion, nuts and raisins and a little garam masala powder and cover with a rice layer.
5. Layer it up, finishing with the garnishes on top.
6. Take a napkin (radius of the vessel), dampen it with water and a little rose water, and cover the vessel.
7. Put the biryani on dum for 1 hour with light heat for the flavours to develop. Serve hot.