Soak basmati rice in water for 10-15 minutes.
Heat a saucepan, add ½ cup ghee and onions. Cook until they are light brown in colour.
Then add black cardamom, green cardamoms, cinnamon stick, cloves, black peppercorns, bay leaves, nutmeg and mace. Cook until they are fragrant.
Add milk and saffron. Bring to a boil. Keep aside.
Heat a pressure cooker, add ¼ cup ghee and chicken. Cook for a few seconds.
Add ginger and garlic paste. Cook until the raw smell goes away.
Add curd, red chilli powder and salt. Give it a good stir. Cook until oil separates from the gravy.
Add soaked rice. Strain the fried onion-spice mixture directly into the cooker.
Pour water into the cooker. Always remember the amount of water should always be double the amount of rice. Or if you dip your finger/spoon into the water, then the level of rice should be 1 inch below the water level.
Add kewra and rose essence. Mix well.
Secure the lid and pressure cook it over a high flame. After the first whistle, lower the flame to medium-low and cook for a few minutes. Then after the second whistle, turn the flame off.
Allow it to stay undisturbed for a couple of minutes. Release the pressure (that is still trapped inside) and open the lid carefully. Give it a gentle stir with a fork.
Lucknow chicken biryani is ready to serve.