In a bowl, combine yogurt, lemon juice, turmeric, cumin, coriander, paprika, and salt.
Add the chicken pieces and mix until well coated. Cover and refrigerate for at least 1 hour, or overnight for better flavor.
When ready to cook, heat 1 tablespoon of vegetable oil in a large pan over medium heat.
Sear the marinated chicken pieces, cooking until they are browned on all sides.
Remove the chicken from the pan and set it aside.
In the same pan, add the remaining ½ tablespoon of oil. Sauté the chopped onion until golden brown.
Stir in the minced garlic and ginger, cooking for another 2 minutes.
Pour in the tomato sauce and let it simmer for about 10 minutes, stirring occasionally. If using fenugreek leaves, add them during this step for extra depth of flavor.
Return the cooked chicken to the pan, stirring to coat it with the sauce.
Add the heavy cream and butter, stirring until the butter melts and the sauce becomes smooth and creamy.
Let it simmer for another 5 minutes. Sprinkle garam masala over the dish and mix well.
Garnish with fresh cilantro and serve your rich, flavorful butter chicken over warm Basmati rice!