Start by preparing the chicken and cutting it into small pieces.
Then add salt, pepper, chili powder, coriander, turmeric, kasoori methi, garlic, ginger, yogurt and lemon to a large bowl along with the prepared chicken and mix thoroughly.
Cover the bowl with plastic and put it in the refrigerator to marinate for 1 hour. While the chicken is marinating, start on the sauce.
Add 2 tablespoons of unsalted butter to a large pot over low to medium heat and caramelize the red onion until well browned, about 30 minutes. Stir every 5 to 6 minutes.
Next, stir in the ginger and garlic and cook until the garlic is fragrant, which takes about 30 to 45 seconds.
Add the garam masala, chili powder, ½ teaspoon kasoori methi, dried chilies, and jalapaño and stir for 1 to 2 minutes. You may need to add a little water to scrape up some of the pool.
Add the tomatoes and cashews, stir and cover with a lid and cook for 20 minutes on low to medium heat. Come back every 5 to 7 minutes to give it a quick shake.
Then transfer the mixture to a blender and blend on high speed until smooth.
Strain the mixture back into the saucepan and keep warm over low heat.
Beat in 1 stick of cold butter until blended, then add the whipped cream and mix to combine. Season with spices in a sauce of salt. Keep warm.
In a separate large pan with ghee or oil over medium-high heat, add the marinated chicken once the butter or oil begins to smoke lightly.
Spread the chicken in the pan and cook the chicken for 3 to 4 minutes, then fry for 1 to 2 minutes, or until cooked through.
Transfer the cooked chicken to the sauce pot and finish by stirring in the fresh chopped coriander, the remaining ½ tsp kasoori methi and 2 tbsp butter.
Serve immedietly and enjoy.