Take ½ kg cleaned chicken in a bowl.
Combine the yogurt, ginger garlic paste.
Add 1 tbsp of Kashmiri chilly powder.
Now add ½ squeezed lemon juice on to it.
Add required amount of salt to it.
Mix well, ensuring all the chicken is coated. Let it marinate for at least 30 minutes (you can also marinate it overnight for more flavor).
Take a Pan and preheat it.
Add 2 tbsp of butter on to it.
Allow it to melt for few minutes.
Add the the marinated chicken on to the pan.
Sauté until it is just cooked through and lightly browned and set the chicken aside.
Now place another pan and preheat it.
Add 2 tbsp of butter on to it.
Allow it to melt for few minutes.
Add finely chopped onion on to the pan.
Cook until they are soft
Add 1 tbsp ginger garlic paste.
Cook for about 1 minute until fragrant.
Now add 1 tsp. garam masala powder.
Sauté it for 1 minute.
Later add 1 tbsp chilli powder.
Mix well again.
Now add sliced tomatoes to the mixture.
Now add cashew nuts to the pan.
Sauté it for 2 minute.
Later add salt to the tomatoes so that it smashes well.
Add a cup of water on to the mixture.
Stir and let it simmer for 10-15 minutes, or until the sauce thickens and the flavors meld together.
Transfer the gravy to the mixture jar.
Grind it into the paste consistency and keep it aside.
In a pan add 2 tbsp of butter and let it melt.
Add all the masala spices and let it splutter for few seconds.
Add the paste to the pan.
Sauté for few minutes.
Add salt to taste.
Now add Sugar to the gravy.
Later add Kasoori Methi to the gravy and mix well.
At this add the cooked chicken back into the pan with the sauce.
Stir to coat the chicken in the sauce.
Let it simmer for 5-7 minutes, allowing the chicken to soak in the flavors.
Add fresh cream to the gravy and lower the heat and stir in the heavy cream.
Garnish with fresh coriander if desired and enjoy your delicious homemade Butter Chicken! Let me know how it turns out!