In a large bowl, combine the cubed chicken breast, yogurt, fresh ginger, fresh garlic, garam masala, coriander, cumin, cayenne, salt, and turmeric. Mix well and optionally, let it marinate for at least an hour or more.
Heat 1 tablespoon of oil or ghee in a pan over high heat. Cook the chicken until it browns and is cooked through. Be careful not to overcook as it will continue cooking in the sauce. Set aside.
In a saucepan, heat 2 tablespoons of oil or ghee over medium-high heat. Add the tomato paste and cook for 3-4 minutes until it darkens in color.
Add the tomato sauce, heavy cream, butter, and sugar to the saucepan. Whisk until smooth.
Now, add the cooked chicken into the sauce, mix well, and taste. Adjust seasoning according to your preference.
Garnish with chopped cilantro and a drizzle of yogurt.
Enjoy the creamy and flavorful butter chicken with your loved ones!