Marinate the Chicken:
In a large bowl, combine yogurt, ginger paste, garlic paste, turmeric, chili powder, garam masala, cumin, salt, and lemon juice.
Add the chicken pieces and coat evenly. Cover and refrigerate for at least 1 hour or overnight for the best flavor.
Cook the Chicken:
Heat a skillet over medium heat and add a drizzle of oil or butter.
Cook the marinated chicken pieces until browned and partially cooked through (about 3-4 minutes per side). Remove from the pan and set aside.
Make the Butter Sauce:
In the same skillet, melt the butter and sauté the onion until soft and golden.
Add the garlic, ginger paste, coriander, cumin, garam masala, and chili powder. Cook for 1-2 minutes until fragrant.
Stir in the tomato purée and cook for 5-7 minutes until the sauce thickens slightly.
Add the heavy cream, sugar (if using), and salt to taste. Stir well to combine.
Simmer the Chicken:
Return the chicken to the pan, coating it in the sauce.
Simmer for 10-15 minutes, stirring occasionally, until the chicken is fully cooked and the sauce is thick and creamy.
Serve:
Garnish with fresh cilantro and a drizzle of cream or butter, if desired.
Serve hot with naan, basmati rice, or your favorite side dish.