Rinse the basmati rice under cold water until the water runs clear. Soak the rice in water for 30 minutes, then drain and set aside.
In a large pot, heat the cooking oil over medium heat. Add the cumin seeds and let them sizzle for a few seconds.
Add the sliced onions and sauté until golden brown, about 8-10 minutes.
Stir in the minced garlic and grated ginger, cooking for another 1-2 minutes until fragrant.
Add the chicken pieces to the pot, cooking until they are no longer pink, about 5-7 minutes.
Mix in the chopped tomatoes, yogurt, coriander powder, garam masala, turmeric powder, red chili powder, and salt. Cook for 5-7 minutes until the tomatoes soften and the spices are well combined.
Pour in the water and bring the mixture to a boil. Once boiling, add the soaked and drained rice. Stir gently to combine.
Reduce the heat to low, cover the pot with a tight-fitting lid, and let it simmer for 20-25 minutes, or until the rice is cooked and has absorbed all the liquid.
Remove the pot from heat and let it sit, covered, for an additional 10 minutes.
Fluff the biryani with a fork, garnish with fresh cilantro and mint, and serve warm.