Start by mixing yogurt, ginger-garlic paste, turmeric, red chili powder, and garam masala in a large bowl. Add salt to taste, then coat the chicken pieces thoroughly. Cover and refrigerate for at least 1 hour or overnight for deeper flavor.
Wash basmati rice under running water until the water runs clear to remove excess starch. Then soak it in fresh water for 30 minutes. Drain when ready to use.
Heat ghee in your pot and add whole spices like bay leaves, cinnamon, and cardamoms. Sauté until they release their aroma. Stir in sliced onions and cook until golden brown. Add the marinated chicken and cook until it turns white and starts releasing juices.
Spread the cooked chicken evenly at the bottom of the pot. Add half of the chopped mint leaves on top. Next, layer the soaked, drained rice carefully over the chicken. Sprinkle the remaining mint leaves, fried onions, and saffron milk over the rice for added flavor.
Pour hot water over the rice and season with a little salt. Cover the pot tightly and cook on medium-low heat for 25-30 minutes. Avoid lifting the lid during this process to trap the steam. Once done, turn off the heat and allow it to rest for another 10 minutes.