Rinse the basmati rice under cold water until the water runs clear. Soak the rice in water for about 30 minutes, then drain.
In a mixing bowl, combine the chicken pieces, yogurt, minced garlic, grated ginger, slit green chilies, turmeric powder, red chili powder, coriander powder, and salt. Mix well and marinate for at least 30 minutes.
Heat oil or ghee in a large pot over medium heat. Add cumin seeds and allow them to splutter.
Add the sliced onions to the pot and sauté until they turn golden brown.
Add the marinated chicken to the pot, stirring well to combine. Cook for about 5-7 minutes until the chicken is no longer pink.
Add the chopped tomatoes, stir, and cook until the tomatoes are soft and the oil begins to separate from the mixture (about 5-6 minutes).
Add chopped cilantro and mint leaves, along with the garam masala. Stir to combine.
Add the soaked and drained basmati rice to the pot. Gently fold in the rice to mix with the chicken and spices.
Pour in 4 cups of water, bring the mixture to a boil, then reduce the heat to low. Cover the pot with a lid and simmer for 20-25 minutes or until the rice is fully cooked and the chicken is tender.
Once cooked, turn off the heat and let the biryani rest for 10 minutes before fluffing it with a fork.
Serve hot, garnished with fried onions and boiled eggs if desired.