In a large bowl, combine chicken thighs with Greek yogurt, ginger-garlic paste, turmeric, 1/2 tablespoon garam masala, chili powder, and 1 teaspoon salt. Mix well to coat evenly. Cover and marinate for at least 2 hours or overnight in refrigerator.
Soak saffron threads in warm milk and set aside. Drain and rinse the soaked basmati rice until water runs clear.
Heat 2 tablespoons ghee in a heavy-bottomed pot over medium heat. Add sliced onions and cook until deep golden brown and caramelized, about 15-20 minutes. Remove half the onions and set aside for garnish.
Add marinated chicken to the pot with remaining onions. Cook over medium-high heat for 8-10 minutes, turning pieces to brown on all sides. The chicken should be about 80% cooked through.
In a separate large pot, bring chicken broth to a boil. Add cardamom pods, bay leaves, cinnamon stick, cloves, and remaining salt. Add the drained rice and cook for 5-7 minutes until rice is 70% cooked (still has a slight bite). Drain rice, reserving 1/2 cup of the cooking liquid.
Layer the partially cooked rice over the chicken in the first pot. Sprinkle with remaining garam masala, saffron milk, fresh mint, cilantro, and reserved caramelized onions. Dot with remaining ghee.
Cover the pot tightly with aluminum foil, then place the lid on top. Cook on high heat for 3-4 minutes until steam forms, then reduce to lowest heat setting. Cook for 45 minutes without lifting the lid.
Turn off heat and let rest for 10 minutes without opening. Gently mix layers before serving, garnish with additional fresh herbs if desired.
Notes
For best results, use a heavy-bottomed pot to prevent burning. The dish can be made ahead and reheated gently in a 300°F oven. If rice seems dry when reheating, add a splash of warm broth.