Marinate the chicken pieces with ginger garlic paste, turmeric powder, coriander powder, red chili powder, and salt. Let it sit for at least 30 minutes.
In a large pot, bring water to a boil. Add basmati rice, oil, salt, mint leaves, cloves, cinnamon stick, cardamom pods, and bay leaf. Cook until the rice is 70% done, then drain and set aside.
In a pan, heat butter and add onions. Sauté until golden brown. Add tomatoes, ginger garlic paste, cashews, cumin seeds, cloves, cinnamon stick, cardamom pod, bay leaf, and kasuri methi. Cook until tomatoes are soft.
Add marinated chicken to the pan and cook until it's fully cooked. If needed, add water for the desired consistency. Stir in yogurt and garam masala powder.
Layer the partially cooked rice over the chicken and cover. Cook on low heat for about 20 minutes.
Serve hot, garnished with fresh mint leaves, cilantro, and crispy fried onions.
Notes
You can adjust the spices according to your taste. Serve with raita or salad.