Steps
1. Marinate the chicken with yogurt, ginger-garlic paste, red chili powder, turmeric powder, garam masala, salt, mint, and coriander. Let it sit for at least 30 minutes.
2. Rinse the basmati rice under cold water until it runs clear. Soak it in water for 30 minutes, then drain.
3. In a pot, heat oil or ghee over medium heat. Add sliced onions and sauté until golden brown. Remove half for garnishing later.
4. In the same pot, add the marinated chicken and cook for about 5-7 minutes until it starts to brown.
5. Add chopped tomatoes and green chilies, and cook until tomatoes soften.
6. In a separate pot, bring water to boil, add salt and the soaked rice. Cook until the rice is 70% done, then drain.
7. Layer the partially cooked rice over the chicken in the pot. Sprinkle the reserved fried onions and saffron milk (if using) on top.
8. Cover the pot with a tight-fitting lid and cook on low heat (dum) for about 20-25 minutes until the rice is fully cooked and the flavors meld.
9. Remove from heat, let it rest for 5 minutes, and serve hot with raita or salad.