Step 1: Marinate the Fish
In a large bowl, combine the red chilli powder, turmeric, black pepper, ginger-garlic paste, lemon juice, salt, and curry leaves, if using. Add the fish pieces and coat them evenly with the marinade. Cover and refrigerate for 30 minutes.
Step 2: Fry the Fish
Heat a little coconut oil or ghee in a frying pan and lightly fry the marinated fish until lightly golden on both sides. The fish does not need to be fully cooked, as it will finish cooking during the dum stage. Transfer to a plate.
Step 3: Prepare the Biryani Masala
Heat the remaining coconut oil or ghee in a heavy-bottomed pot or biryani handi. Fry the sliced onions until golden brown, then reserve half for garnishing. Add the ginger-garlic paste and sauté until fragrant. Stir in the green chillies and chopped tomatoes, cooking until the tomatoes soften.
Add the curd or coconut milk, coriander powder, biryani masala, and salt. Cook until the masala comes together. Arrange the fried fish pieces over the masala and scatter the chopped mint and coriander on top.
Step 4: Cook the Rice
Cook the Jeerakasala (Kaima) rice or aged basmati rice with the whole spices, salt, and ghee until it is about 70–75% cooked. Drain well and keep aside.
Step 5: Layer and Cook on Dum
Spread half of the fish masala evenly in the pot and cover with half of the partially cooked rice. Repeat with the remaining fish masala and rice. Finish with the saffron milk, reserved fried onions, fried cashews, fried raisins, and a drizzle of ghee.
Cover the pot tightly with a lid or seal the edges with wheat dough. Cook over low heat for 20–25 minutes, then allow the biryani to rest for 10 minutes before opening the lid. Gently fluff the rice and serve the Authentic Fish Biryani hot with raita, salan, or your favourite pickle.