Rinse the basmati rice under cold water until the water runs clear. Soak it in water for about 30 minutes, then drain.
In a medium bowl, combine the chicken pieces with yogurt, garlic, ginger, turmeric, biryani masala, and salt. Mix well and let marinate for at least 30 minutes.
Heat the cooking oil or ghee in a large pot over medium heat. Add cumin seeds and let them sizzle for a few seconds.
Add the sliced onions and sauté until they turn golden brown. Reserve some fried onions for garnishing if desired.
Stir in the chopped tomatoes and green chilies. Cook until the tomatoes are soft.
Add the marinated chicken to the pot and cook on medium heat until the chicken is fully cooked and well combined with the spices, about 15-20 minutes.
While the chicken is cooking, bring 4 cups of water to a boil in a separate pot. Add the soaked and drained rice to the boiling water. Cook the rice partially (about 70% cooked), then drain it.
Layer the partially cooked rice over the chicken in the pot. Spread it evenly and sprinkle the chopped cilantro and mint leaves on top. If using, add saffron strands soaked in a tablespoon of warm water for color and flavor.
Cover the pot with a tight-fitting lid and reduce the heat to low. Cook for an additional 20 minutes, allowing the flavors to meld and the rice to finish cooking.
Once done, gently fluff the biryani with a fork. Serve hot, garnished with reserved fried onions and additional cilantro and mint, if desired.