Wash the basmati rice under cold water until the water runs clear. Soak for 30 minutes, then drain.
In a large pot, bring 4 cups of water or chicken broth to a boil. Add the soaked rice and cook until 70% done (the rice should still be slightly undercooked). Drain and set aside.
In a large pan, heat the vegetable oil or ghee over medium heat.
Add the sliced onions and cook until golden brown.
Stir in the minced garlic and ginger, cooking for another 1-2 minutes until fragrant.
Add the chicken pieces and cook until they start to brown.
Add the chopped tomatoes, biryani spice mix, turmeric, cumin, coriander, chili powder, and salt. Cook until the tomatoes soften and the chicken is well-coated with the spices.
Stir in the yogurt and cook for another 5 minutes until the chicken is cooked through and the mixture is thickened.
In a large ovenproof dish or the same pan, spread half of the partially cooked rice.
Top with the chicken mixture, spreading it evenly.
Layer the remaining rice on top of the chicken.
Sprinkle chopped cilantro and mint leaves over the top.
Dissolve the saffron threads in warm milk and drizzle over the top of the rice.
Cover the dish tightly with aluminum foil or a lid.
Bake in a preheated oven at 350°F (175°C) for 20-25 minutes, or until the rice is fully cooked and flavors have melded.
Gently fluff the biryani before serving.
Enjoy your meal!