I love how the warmth of Indian spices can transform a simple weeknight dinner into something truly special. This butter chicken recipe has been my go-to whenever I crave restaurant-quality flavors without the hefty price tag or long wait times.
Table of Contents
Ingredients for Butter Chicken
I’ve made this butter chicken countless times, and I’ve learned that quality ingredients make a noticeable difference in the final dish. I always use Greek yogurt for the marinade because it creates the most tender chicken, and my go-to is full-fat for maximum flavor.
For the Chicken:
- 1 ½ lbs boneless, skinless chicken thighs (cut into bite-sized pieces) – I recommend thighs over breasts for juicier results
- 1 cup plain Greek yogurt
- 2 tablespoons lemon juice
- 2 teaspoons garam masala
- 1 teaspoon ground cumin
- 1 teaspoon ground coriander
- 1 teaspoon chili powder – In my experience, starting with less and adding more works better than overdoing it
- 1 teaspoon salt
For the Sauce:
- 3 tablespoons unsalted butter
- 1 large onion (finely chopped)
- 3 cloves garlic (minced)
- 1 tablespoon fresh ginger (grated) – I usually keep ginger in my freezer for easy grating
- 2 teaspoons garam masala
- 1 teaspoon ground cumin
- 1 teaspoon paprika
- 1 teaspoon turmeric
- 1 teaspoon chili powder (adjust to taste)
- 1 (14 oz) can tomato puree – My preference is San Marzano style for the best flavor
- 1 cup heavy cream
- 1 tablespoon sugar (optional)
- Salt and black pepper (to taste)
- Fresh cilantro (chopped, for garnish)
Step-by-Step Instructions
I recommend giving yourself at least 15 minutes for the marinade, though overnight marinating produces even more flavorful results.
Step 1: In a large bowl, whisk together Greek yogurt, lemon juice, garam masala, cumin, coriander, chili powder, and salt until smooth. Add chicken pieces and toss to coat completely. Cover and refrigerate for at least 15 minutes, or up to 24 hours for deeper flavor penetration.
Step 2: Heat 1 tablespoon of butter in a large skillet over medium-high heat. Once melted and sizzling, add the marinated chicken pieces in a single layer (work in batches if needed to avoid crowding). Cook for 4-5 minutes until browned on the outside with some golden spots visible. The chicken doesn’t need to be fully cooked at this stage. Remove chicken to a clean plate and set aside.
Step 3: In the same skillet, melt the remaining 2 tablespoons of butter over medium heat. Add chopped onion and cook for 5-6 minutes, stirring occasionally, until soft and golden brown with translucent edges. This caramelization builds the sauce’s flavor foundation. Add minced garlic and grated ginger, stirring constantly for 30-45 seconds until you can smell the aromatics but before they turn brown.
Step 4: Reduce heat to medium-low and add all the spices (garam masala, cumin, paprika, turmeric, and chili powder). Stir constantly for about 1 minute to bloom the spices and release their essential oils. You’ll notice the mixture becomes very aromatic and the spices darken slightly.
Step 5: Pour in the tomato puree and stir to combine with the spiced onion mixture. Season with salt, pepper, and sugar if using. Let the sauce simmer uncovered for 10 minutes, stirring occasionally, until it thickens slightly and the raw tomato flavor mellows. The sauce should reduce by about one-third and coat the back of a spoon.
Step 6: Lower the heat to low and slowly stir in the heavy cream. Pour it in gradually while stirring to prevent the cream from separating. Return the browned chicken and any accumulated juices to the skillet. Gently simmer for 10-12 minutes until the chicken is fully cooked through (internal temperature should reach 165°F) and the sauce has thickened to a creamy, coating consistency.
Step 7: Taste and adjust seasoning with additional salt or chili powder if needed. Remove from heat, let rest for 2-3 minutes to allow flavors to settle, then garnish generously with fresh chopped cilantro and serve immediately.

Perfect Pairings for Butter Chicken
The rich, creamy nature of butter chicken pairs beautifully with sides that can soak up the sauce while adding textural contrast and nutritional balance.
Warm Naan Bread: The soft, pillowy texture of naan is perfect for scooping up every last bit of that creamy sauce, and the slight char adds a wonderful smoky dimension to each bite.
Fluffy Basmati Rice: The delicate, nutty flavor of basmati rice provides a neutral base that allows the butter chicken’s complex spices to shine while absorbing the delicious sauce.
Cucumber Raita: This cool, refreshing yogurt-based side dish balances the richness of the butter chicken with its tangy flavor and crisp cucumber pieces, offering a palate-cleansing contrast.
Garlic Cream Chicken Skillet: If you love creamy chicken dishes, this protein-packed option makes another excellent weeknight choice for your rotation.
Garlic Roasted Vegetables: Lightly seasoned roasted broccoli, cauliflower, or green beans add fiber and vitamins while their caramelized edges provide a pleasant textural variation.
Simple Green Salad: A crisp salad dressed with lemon vinaigrette cuts through the cream and butter, adding freshness and making the meal feel more balanced and complete.
Keeping It Fresh and Delicious
Butter chicken stores beautifully, making it an excellent candidate for meal prep or enjoying leftovers throughout the week. Transfer cooled butter chicken to an airtight container and refrigerate for up to 3-4 days. The flavors actually deepen and meld together after a day, making leftovers arguably even better than the original meal.
For reheating, warm gently in a saucepan over low heat, adding a splash of water or cream to loosen the sauce if it has thickened too much in the refrigerator. I recommend avoiding the microwave if possible, as stovetop reheating preserves the sauce’s silky texture better. If you must use a microwave, heat in 30-second intervals, stirring between each, and add a tablespoon of water to prevent the sauce from breaking.
This recipe freezes wonderfully for up to 2 months. Pro tip: freeze the sauce and chicken without the cream, then stir in fresh cream when you reheat for the best texture and flavor. Thaw overnight in the refrigerator before gently reheating on the stovetop.
FAQs
Can I use chicken breast instead of thighs?
Yes, you can substitute chicken breasts, but reduce the cooking time slightly as breasts cook faster and can become dry. Cut them into uniform pieces to ensure even cooking.
How can I make this butter chicken spicier?
Add more chili powder to the marinade and sauce, or include 1-2 fresh green chilies (sliced) when cooking the onions. You can also serve with extra chili flakes on the side.
Is there a dairy-free version of this recipe?
Absolutely! Replace the Greek yogurt with coconut yogurt for marinating, and use coconut cream instead of heavy cream in the sauce. The flavor will be slightly different but still delicious.

Quick and Easy Homemade Butter Chicken
Ingredients
Equipment
Method
- In a large bowl, whisk together Greek yogurt, lemon juice, garam masala, cumin, coriander, chili powder, and salt until smooth. Add chicken pieces and toss to coat completely. Cover and refrigerate for at least 15 minutes, or up to 24 hours.
- Heat 1 tablespoon of butter in a large skillet over medium-high heat. Once melted and sizzling, add the marinated chicken pieces in a single layer (work in batches if needed). Cook for 4-5 minutes until browned on the outside with golden spots. The chicken doesn’t need to be fully cooked at this stage. Remove chicken to a clean plate and set aside.
- In the same skillet, melt the remaining 2 tablespoons of butter over medium heat. Add chopped onion and cook for 5-6 minutes, stirring occasionally, until soft and golden brown with translucent edges. Add minced garlic and grated ginger, stirring constantly for 30-45 seconds until aromatic.
- Reduce heat to medium-low and add all the spices (garam masala, cumin, paprika, turmeric, and chili powder). Stir constantly for about 1 minute to bloom the spices and release their essential oils. The mixture will become very aromatic and the spices will darken slightly.
- Pour in the tomato puree and stir to combine with the spiced onion mixture. Season with salt, pepper, and sugar if using. Let the sauce simmer uncovered for 10 minutes, stirring occasionally, until it thickens slightly and reduces by about one-third. The sauce should coat the back of a spoon.
- Lower the heat to low and slowly stir in the heavy cream. Return the browned chicken and any accumulated juices to the skillet. Gently simmer for 10-12 minutes until the chicken is fully cooked through (internal temperature should reach 165°F) and the sauce has thickened to a creamy, coating consistency.
- Taste and adjust seasoning with additional salt or chili powder if needed. Remove from heat, let rest for 2-3 minutes, then garnish generously with fresh chopped cilantro and serve immediately with rice or naan.
Notes









