Preparation Time: 30-40 minutes
Mix marinade ingredients: In a large bowl, combine yogurt, ginger-garlic paste, green chilies, red chili powder, turmeric, coriander powder, cumin powder, garam masala, lemon juice, biryani masala, chopped coriander, and mint leaves. Marinate the meat: Add the chicken or mutton pieces and coat them well in the marinade. Cover and refrigerate for at least 2-3 hours or preferably overnight for best results.
Boil water: In a large pot, bring 6-7 cups of water to a boil. Add cloves, cardamom, bay leaf, cinnamon, and caraway seeds, along with salt. Cook rice: Add the soaked basmati rice and cook until it is about 70% done (still firm to the bite). Drain the water and set the rice aside. Layer the marinated meat: In a heavy-bottomed pot, spread the marinated chicken or mutton evenly at the bottom. Top with rice: Layer the 70% cooked rice on top of the meat. Add garnishes: Sprinkle half of the fried onions, chopped mint and coriander leaves, saffron milk, kewra water, and rose water (if using) over the rice. Drizzle ghee: Pour melted ghee over the top layer.
Seal the pot: Cover the pot with a tight-fitting lid. You can seal the edges with dough to trap steam inside or place a heavy object on top of the lid. Cook on low heat: Cook the biryani on low heat for 30-35 minutes. Alternatively, you can place a tawa (griddle) under the pot to ensure indirect heat and prevent burning. Check for doneness: The meat should be tender and fully cooked, and the rice should be fluffy and aromatic.
Serve the Hyderabadi Biryani with raita, salan (a tangy gravy), or plain yogurt.