Grab a bowl and whisk together yogurt, lemon juice, all those spices (turmeric, garam masala, chili powder, cumin), ginger, and garlic. Don't forget the chicken! Toss the chicken pieces in this yummy marinade, cover it up, and shove it in the fridge for at least 30 minutes. Overnight is even better for super flavorful chicken.
Time to cook! Heat up some ghee or butter in a pan. Toss in the chicken with all that marinade goodness and cook it for 5-7 minutes per side. You're looking for golden brown and cooked through chicken. Once it's ready, take it out and set it aside for a bit.
In the same pan, saute the onions until they're nice and soft. Then, add the diced tomatoes, tomato paste, and a little bit of sugar. Let it simmer for 10 minutes so the flavors can get to know each other. Don't forget to add some salt for taste!
Here comes the creamy part! Pour in the heavy cream and stir it all together. Add your chicken back to the pan and simmer for another 5 minutes. Now the chicken gets to soak up all that delicious sauce.
Last but not least, garnish your butter chicken with some fresh cilantro (chopped up fancy or however you like it) and serve it with rice or naan. Boom! Dinner is done!