Take a large pot or dutch oven – it should be enough to fit the rice, the fish and the masala and still have 2 – 3 inches space from the top.
Layer ⅓ rice at the bottom, and then add ⅓rd of the fish masala gravy. Top with another ⅓ of the rice, followed by the fish masala gravy, and ½ of the fish pieces. Top with the remaining rice, the remaining fish masala gravy, and the fried fish.
Sprinkle with coriander / cilantro leaves, mint leaves, the remaining fried onions, lemon slices and green chilies.
Cover the pot and layer the lid with aluminium foil, or a kitchen cloth to seal the lid tightly. This is important as it helps in ensuring that the steam doesn’t escape. A heavy weight can be kept on the lid as well to help in this step.
Place the pot on an insulator – this can be a tawa, a flat gridle or a heat diffuser (available at Asian and Indian stores). If you have a cast iron Dutch oven or another heavy bottomed pan, this diffuser isn't necessary. Turn the heat to medium for about 5 – 7 minutes. This will help in creating the steam.
Once the steam is formed, turn heat to low / simmer, and cook for about 15 minutes on ‘dum’ – this means that the rice will cook in its own steam. Turn off the stove, and let the biryani rest for 10 minutes.
To serve, carefully mix the biryani using a small plate or a rice spoon. Move the rice from the sides, and lightly mix ensuring that the rice and the fried fish doesn’t break. Serve the fish biryani hot with yoghurt or raita.