Wash and soak the rice for 20 minutes. Warm milk with saffron strands for 2 minute in microwave and keep aside.
Now thinly slice the onions and deep fry them in oil(saving 2 tablespoon of oil for rice preparation), and take them out on a kitchen towel.
In a big pot/pan, boil 5-6 cups of water. Add bay leaves, cloves, black peppercorn, black and green cardamom, salt and rest 2 tablespoon of oil to it. Once water starts boiling, add soaked rice to them and let them boil for 7-8 minutes until they are 90 percent done.
Once done, drain the rice in a colander and keep aside.
Heat a handi/pot(big size, heavy bottomed pan) over medium heat. Add 1-2 tablespoon of oil from the leftover fried oil(after taking out fried onion). Once warm enough, add butter chicken and mix well. Saute for a minute. keep the flame for low now.
Now spread the nearly cooked rice over it. Spread on top chopped mint and coriander leaves. Now top it up with fried onion and spread evenly saffron milk and kewra water.
Cover the entire pot with foil or tea towel and cover with lid. Increase the heat to medium for 3-4 minutes and then let it cook on a extremely low flame for 35 to 40 minutes.
After that, remove the tea towel and lid carefully. Add ghee to the biryani and fluff the rice with a fork. Serve hot with raita.