Marinate the chicken with oil, garlic, ginger, chili powder, mint, coriander powder, garam masala and salt in a large bowl. Allow the chicken to marinate for a minimum of 1 hour.
In a large bottom pot, heat the ghee and saute the onions until they are well caramelized. Once done, set them aside.
Wash the rice thoroughly and add the water, salt, cardamom, cumin and bay leaf to a pot and bring it to a boil. Boil the rice for about 7 minutes and drain the water and keep 1 cup of its water aside to use later.
In a large bottom pot, fry the marinated chicken in a little oil until golden brown. Once done, set aside.
Soak some saffron in warm milk and allow the saffron to exude its flavour. Add the saffron to the rice and mix gently.
Assemble the biryani in a large bottom pot in layers. Add the rice at the bottom, topped with chicken, and then the caramelized onions. Top the biryani with the leftover rice and pour over the reserved cup of water.
Cover the pot with a lid and cook it on the stove over medium heat for about 20 minutes.
After 20 minutes, turn off the heat and allow the pot to rest for some time.
Mix the biryani, garnish with fresh coriander, caramelized onions, and serve with raita and salan.