Marinate the chicken: In a bowl, mix the chicken pieces with yogurt, ginger- garlic paste, chili powder, turmeric powder, cumin powder, and salt. Let it marinate for at least 1 hour, preferably longer for better flavor.
In a large pot, bring water to a boil. Add the soaked and drained rice along with whole spices (cardamom, cloves, cinnamon), and salt. Cook until the rice is 70- 80% done. Drain the rice and set aside.
In a separate pan, heat ghee or oil. Fry the thinly sliced onions until golden brown and crispy. Remove from the oil and set aside.
In a heavy-bottomed pot, spread a layer of marinated chicken at the bottom. Top it with a layer of cooked rice. Sprinkle some chopped tomatoes, green chilies, coriander leaves, mint leaves, and fried onions. Repeat the layers until all the chicken and rice are used up. Finish with a layer of rice on top.
Cover the pot tightly with a lid or aluminum foil. Cook on low heat for about 20- 25 minutes, or until the chicken is cooked through and the flavors have melded together. You can also place a tawa (griddle) underneath the pot to prevent burning.