Butter Chicken is a rich and creamy dish that brings together tender pieces of chicken cooked in a smooth tomato and butter sauce. It’s full of warm spices like garam masala and a hint of sweetness, making it both comforting and flavorful. The silky sauce coats every bite, making it a real crowd-pleaser at any dinner table.
I love making Butter Chicken when I want something cozy but still a little special. It feels like a bit of a treat without being too complicated to prepare. My secret? Letting the sauce simmer slow and low so all those flavors really come together. It’s the kind of dish that makes everyone ask for seconds, no matter the occasion.
My favorite way to enjoy Butter Chicken is with a side of fluffy basmati rice and some warm naan bread to soak up all that delicious sauce. It’s perfect for sharing with family or friends on a relaxed night in. I always find that the leftovers taste even better the next day, so it’s definitely a recipe worth saving in your dinner rotation!
Key Ingredients & Substitutions
Chicken: I recommend boneless thighs for juicy, tender results. You can use drumsticks but remove bones for easier eating. Chicken breasts work too but may dry out if overcooked.
Yogurt: Plain yogurt helps tenderize the chicken and adds tang. Greek yogurt works well if you want a thicker marinade. For dairy-free, try coconut yogurt.
Butter and Cream: These create the rich, smooth sauce that defines Butter Chicken. Use unsalted butter to control salt levels. For a lighter option, substitute heavy cream with coconut milk, which adds a slight sweetness.
Tomato Puree: Choose smooth tomato puree or crushed tomatoes. If unavailable, canned tomato sauce is a fine substitute.
Spices: Garam masala is key to that classic flavor. If you don’t have it, mix equal parts ground cumin, coriander, cardamom, and cinnamon. Adjust chili powder based on how spicy you like it.
How Do You Get the Perfect Creamy Butter Chicken Sauce?
The sauce is the heart of Butter Chicken, and these steps help get it just right:
- Sauté onions slowly: Cook until golden brown to bring out their natural sweetness. This deep flavor builds the sauce base.
- Add garlic and ginger next: Cooking them briefly releases their aroma without burning.
- Tomato and spices: Let the tomato cook down well before adding cream. This reduces acidity and thickens the sauce.
- Slow simmer with cream: Add cream on low heat and stir gently. Don’t boil after cream goes in or it might split.
- Simmer chicken in sauce: This lets flavors meld and the chicken finish cooking tender and juicy.
Taking your time with these steps results in a rich, smooth sauce that coats every bite perfectly. I find low and slow makes the best, most flavorful Butter Chicken.

Equipment You’ll Need
- Large skillet or heavy-bottomed pan – I like it because it distributes heat evenly and helps brown the chicken nicely.
- Mixing bowls – perfect for marinating the chicken and prepping spices.
- Measuring spoons and cups – keep your flavors just right without guesswork.
- Sharp knife and cutting board – for chopping onions, garlic, and ginger with ease.
- Stirring spoon or spatula – helps mix the sauce without scratching the pan.
Flavor Variations & Add-Ins
- Swap chicken for paneer or tofu for a vegetarian version that’s still creamy and satisfying.
- Add a splash of fenugreek leaves (kasuri methi) towards the end for an authentic, slightly bitter depth.
- Stir in cooked spinach or peas for some added greens and texture.
- Adjust spices by adding a pinch of cinnamon or cloves for a different aromatic flair.

Butter Chicken
Ingredients You’ll Need:
For the Chicken and Marinade:
- 1 lb (450g) boneless chicken thighs or drumsticks
- 1/2 cup plain yogurt
- 1 tbsp lemon juice
- 1 1/2 tsp garam masala
- 1 tsp turmeric powder
- 1 tsp ground cumin
- 1 tsp red chili powder (adjust to taste)
- 1 tsp salt (adjust to taste)
For the Sauce:
- 3 tbsp butter
- 1 tbsp vegetable oil
- 1 large onion, finely chopped
- 3 cloves garlic, minced
- 1 tbsp fresh ginger, grated
- 1 cup tomato puree (or crushed tomatoes)
- 1/2 cup heavy cream
- 1 tbsp sugar
- 1/2 tsp ground coriander
- Fresh cilantro leaves, chopped (for garnish)
How Much Time Will You Need?
This recipe will take about 15 minutes to prep and marinate, ideally with 1 hour or more for the flavors to soak in (overnight if possible). Cooking the chicken and making the sauce takes around 30 to 40 minutes. Overall, plan for about 1.5 to 2 hours including marinating time.
Step-by-Step Instructions:
1. Marinate the Chicken:
In a bowl, mix together plain yogurt, lemon juice, 1 tsp garam masala, turmeric, cumin, chili powder, and salt. Add your chicken pieces and make sure each piece is coated well with this marinade. Cover the bowl and put it in your fridge. Let it rest for at least 1 hour so the flavors soak in. The longer, the better!
2. Cook the Chicken:
Heat 1 tbsp of vegetable oil in a heavy pan or skillet over medium-high heat. Take the chicken pieces out of the marinade, shaking off the excess, then add them to the hot pan. Cook until browned on all sides but still not fully cooked inside, about 4-5 minutes per side. Remove the chicken and set it aside.
3. Make the Sauce:
In the same pan, melt the butter over medium heat. Add the chopped onions and cook until they turn golden brown, about 7-8 minutes. Then add the minced garlic and grated ginger, saute for 1-2 minutes until fragrant.
Pour in the tomato puree, add the remaining 1/2 tsp garam masala, ground coriander, and sugar. Let it cook on medium heat for about 10 minutes, stirring occasionally until the oil begins to separate from the sauce and the mixture thickens a little.
4. Add Cream and Simmer:
Turn the heat down to low. Slowly stir in the heavy cream, blending it well to create a smooth and creamy sauce. Return the browned chicken pieces to the pan, cover, and let everything simmer gently for 15-20 minutes. This helps the chicken cook through and the flavors combine.
5. Final Touches and Serving:
Give it a taste and add more salt or chili powder if you like. Sprinkle chopped fresh cilantro over the top for a pop of color and fresh flavor. Serve your delicious Butter Chicken with warm naan bread or fluffy basmati rice to enjoy every bit of that creamy sauce!
Can I Use Frozen Chicken for Butter Chicken?
Yes, you can! Just make sure to fully thaw the chicken in the refrigerator overnight before marinating and cooking. This helps the chicken cook evenly and absorb the marinade flavors better.
Can I Make Butter Chicken Dairy-Free?
Absolutely! Substitute the butter with a plant-based alternative like coconut oil, and use coconut milk or cashew cream instead of heavy cream. This keeps the rich creaminess while making it suitable for dairy-free diets.
How Long Can I Store Leftover Butter Chicken?
Store leftovers in an airtight container in the fridge for up to 3-4 days. Reheat gently on the stove or in the microwave, stirring occasionally to keep the sauce smooth.
Can I Prepare Butter Chicken Ahead of Time?
Yes! You can marinate the chicken and make the sauce up to a day in advance. When ready to serve, just reheat the sauce and add the chicken to warm through, then simmer briefly for best flavor.



