In a bowl, combine the chicken, yogurt, ginger-garlic paste, red chili powder, coriander powder, cumin powder, garam masala, and salt. Mix well and marinate for 30 minutes.
Heat 2 tbsp butter in a pan and add the marinated chicken. Cook until the chicken is lightly browned.
Remove the chicken from the pan and set aside.
In the same pan, add the remaining 2 tbsp butter. Add the chopped onion and sauté until translucent.
Add the minced garlic and grated ginger and sauté for a minute.
Add the red chili powder, coriander powder, cumin powder, garam masala, and salt. Stir well.
Add the tomato puree and heavy cream. Bring to a simmer and cook for 5-10 minutes, until the sauce thickens.
Add the cooked chicken back to the pan and stir to coat the chicken in the sauce.
Serve hot with naan or rice.
