Wash the basmati rice until the water runs clear, then soak it in a bowl of water for 20 to 30 minutes. Drain well before using.
Heat the ghee or vegetable oil in a large, heavy-bottomed pot or Dutch oven over medium heat. Add the mixed whole spices and cashews, sautéing for 1 to 2 minutes until the cashews are golden brown and the spices are fragrant.
Add the thinly sliced yellow onion to the pot. Cook, stirring occasionally, until deeply golden brown and caramelized, about 8 to 10 minutes.
Stir in the ginger-garlic paste and cook for 1 minute. Add the chicken pieces and sear them on all sides for 5 to 7 minutes until lightly browned.
Sprinkle the garam masala, fresh mint leaves, and half of the fresh cilantro over the chicken. Stir to coat the chicken evenly in the herbs and spices.
Add the soaked and drained basmati rice to the pot. Gently toast the rice with the chicken and spices for 1 to 2 minutes.
Pour in the water or chicken broth and season generously with salt. Bring the liquid to a rolling boil, then reduce the heat to the lowest setting.
Cover the pot with a tight-fitting lid and simmer for 15 to 20 minutes, or until all the liquid is absorbed and the chicken is fully cooked.
Remove the pot from the heat and let it rest, covered, for 10 minutes. Fluff the rice gently with a fork and garnish with the remaining fresh cilantro before serving.