Butter Chicken is a versatile and flavorful dish with many variations, so feel free to customize it to suit your taste and dietary preferences. Enjoy your homemade Butter Chicken!
In a bowl, combine the yogurt, ginger-garlic paste, chili powder, ground turmeric, ground cumin, and salt. Add the chicken pieces and coat them well with the marinade. Cover and refrigerate for at least 1 hour or overnight for best results.
Heat a large skillet or pan over medium-high heat. Add a tablespoon of butter. When it's hot, add the marinated chicken pieces and cook until they are browned and cooked through, about 5-7 minutes. Remove the cooked chicken from the pan and set it aside.
In the same pan, add another tablespoon of butter. Add the finely chopped onion and sauté until it becomes soft and translucent, about 5 minutes. Stir in the ginger-garlic paste and cook for another 1-2 minutes until fragrant.
Add ground cumin, ground coriander, garam masala, and chili powder to the onion mixture. Sauté for a minute to toast the spices. Then, add the crushed tomatoes and cook for about 5-7 minutes, allowing the sauce to thicken.
Transfer the sauce to a blender or use an immersion blender to puree it until smooth. If needed, you can strain the sauce to remove any tomato seeds or skin.
Return the pureed sauce to the pan. Add the cooked chicken pieces and heavy cream. Stir well to combine. Simmer the sauce and chicken together for about 10-15 minutes, allowing the flavors to meld. Adjust the seasoning with salt and sugar to taste.
Garnish the Butter Chicken with chopped fresh cilantro, if desired. Serve hot with steamed rice, naan bread, or roti.