In a large bowl, combine the yoghurt, ginger-garlic paste, turmeric powder, Kashmiri chilli powder, garam masala, dried kasuri methi leaves, salt, and lemon juice.
Add the chicken pieces and mix well to coat.
Cover and refrigerate for at least 1 hour (or overnight for best results).
Soak the cashews in hot water and set them aside.
Preheat a grill, or you can use a stovetop pan. If using a stovetop grill pan, heat the pan and add a tablespoon of butter.
Cook the marinated chicken until it's well browned on all sides and cooked through. Set aside.
In a large pan, heat the butter over medium heat.
Add the chopped onions and sauté until golden brown.
Add the chopped tomato and cook until the tomatoes are cooked well.
Lower the heat and stir in the Kashmiri chilli powder, garam masala, and turmeric powder, and cook until the raw smell of the masala disappears.
Cool and grind them to a fine paste. Add water if needed.
Grind the soaked cashews to a fine paste along with the water and set them aside.
In the same pan, heat the butter over medium heat.
Add the ground onion-tomato paste, and cashew paste. Adjust the consistency by adding hot water as needed.
Adjust the salt and the spice. Cook the mixture until the oil starts to separate and the sauce thickens (about 10 minutes).
Stir in the sugar and dried kasuri methi leaves.
Let the sauce simmer on low heat for 5-7 minutes, allowing the flavours to meld.
Add the grilled chicken pieces to the sauce and stir well to coat.
Simmer for another 5 minutes, letting the chicken absorb the flavours of the sauce.
Garnish with fresh coriander leaves and fresh cream.
Serve hot with naan, roti, or steamed basmati rice.
Enjoy your delicious homemade butter chicken!