Marinate the chicken pieces with lime, salt & white pepper powder. Mix and set aside for 30 mins.
Heat oil in a large pan on medium-high heat and add the sliced onions. Fry on medium heat for 3 mins till the onions are translucent. Then add green chili, ginger, garlic, and cashews. Mix and fry for another 2 mins, then transfer to a blender.
Once the ingredients are mostly cooled, add ¼ cup of water, blend to a smooth paste and set aside.
In the same pan, heat butter/ghee on medium flame. Add all the whole spices and let them saute for 30 seconds.
Add the onion-cashew paste made earlier and fry on medium heat for 5 mins till the color starts changing.
Add the marinated chicken pieces. Stir & fry on high heat for 4-5 mins till the chicken pieces are all white on the outside.
Add all the spices. Mix and fry on medium heat for 3-4 mins. Change the heat to low, then add the yogurt. Cook on low heat for around 3 minutes while stirring continuously till the oil separates.
Add water and give a good stir. Cover with a lid and cook on low heat for 10-12 minutes till the chicken is tender.
Remove the lid and stir the curry. Add the fresh cream, garam masala and stir.
Crush the kasoori methi between your palms and add it in. Stir the chicken curry and simmer for 2-3 minutes.