Mix the chicken with all marinade ingredients. Stir well and refrigerate for at least 2 hours, preferably overnight.
30 minutes before cooking, rinse the rice thoroughly until the water runs clear, then soak it for 30 minutes.
Heat 4 tbsp oil in a wide, flat-bottomed pot. Add the whole spices and sauté until fragrant and the oil begins to bubble.
Add the marinated chicken and stir well. Cook until the chicken is done.
Add the yogurt, mint leaves, and garam masala. Mix to combine.
Lower the heat. Drain the soaked rice thoroughly and spread it evenly over the chicken.
Pour 3 cups of boiling water mixed with 1 tsp salt over the rice. If adding the saffron, pour it over the rice.
Cover the pot and cook on medium-low heat for 25–30 minutes, until the rice is fully cooked.
Turn off the heat and let it sit, covered, for 10 minutes before opening.
Gently fluff the rice before serving.