Butter Chicken is a creamy, comforting dish that brings the warmth of rich spices and tender chicken together in a smooth, buttery tomato sauce. It’s got a lovely balance of flavors with just the right amount of sweetness, a hint of tang, and a little spice. The sauce is silky and full of warmth from ingredients like cream, butter, and aromatic spices, making every bite a cozy treat.
I love making Butter Chicken when I want something that feels like a big hug on a plate. It’s one of those dishes that always manages to please everyone at the table, whether you like it mild or a little spicy. A little tip I have is to simmer the sauce gently—that way, all the flavors really come together and it tastes even better the next day if you have leftovers.
My favorite way to enjoy Butter Chicken is with some warm naan bread or fluffy basmati rice, so I can soak up every bit of that delicious sauce. It’s perfect for a casual dinner or when you want to impress guests with something full of flavor but still super easy to make. Butter Chicken always makes me feel like I’m sharing a special meal with family or friends, and I’m sure you’ll love it just as much as I do.
Key Ingredients & Substitutions
Chicken Thighs: I prefer thighs because they stay juicy and tender when cooked slowly. You can swap them for chicken breasts, but watch the cooking time to keep them from drying out.
Yogurt: The yogurt marinates the chicken and adds tenderizing acidity. Plain Greek or regular yogurt works well. If dairy isn’t an option, try a dairy-free yogurt like coconut or almond-based.
Butter: Butter is essential for that rich, creamy texture and flavor. You can use ghee (clarified butter) for a nuttier taste or margarine for a dairy-free version.
Spices (Garam Masala, Turmeric, Cumin): These warm spices give Butter Chicken its signature flavor. If you don’t have garam masala, a mix of equal parts ground cinnamon, cumin, coriander, and cardamom works well as a substitute.
Heavy Cream: Cream makes the sauce silky and smooth. For a lighter option, use coconut milk or evaporated milk, but expect a slightly different flavor.
How Do I Get the Sauce Smooth and Creamy Without It Splitting?
Keeping the sauce creamy and smooth is key for great Butter Chicken. Here’s how I do it:
- Cook onions slowly until golden, which builds natural sweetness and depth.
- Add garlic and ginger after onions soften, so they don’t burn and become bitter.
- Simmer the crushed tomatoes until you notice the oil starting to separate from the sauce. This shows the sauce is thick and cooked through.
- Add cream at the end, reducing the heat to low. Stir gently and avoid boiling once cream is added, since high heat can cause it to curdle.
- If your sauce looks too thick, add a splash of water, milk, or cream to loosen it up.
Taking your time with these steps really pays off in a luscious, well-balanced curry.

Equipment You’ll Need
- Large skillet or saucepan – I recommend a heavy-bottomed one to prevent scorching and ensure even cooking.
- Mixing bowls – for marinating the chicken and prepping ingredients.
- Measuring spoons and cups – to keep your spices and liquids just right.
- Wooden spoon or spatula – makes stirring the sauce smooth and easy.
- Knife and cutting board – for chopping onions, garlic, ginger, and chicken.
- Grater – for fresh ginger and garlic if you prefer using them freshly.
- Can opener – to easily open the crushed tomato can.
- Serving dishes – for presentation of curry, rice, and naan.
Flavor Variations & Add-Ins
- Spicy kick: Add extra chili powder or chopped green chilies to suit your heat preference.
- Extra veggies: Stir in spinach, peas, or bell peppers during simmering for added texture and nutrients.
- Different proteins: Use shrimp or paneer instead of chicken for variety.
- Cheese touch: Top with a little grated cheddar or Parmesan before serving for extra richness.
Butter Chicken
Ingredients You’ll Need:
For the Chicken & Marinade:
- 1.5 lbs (700g) boneless chicken thighs, cut into bite-sized pieces
- 1 cup plain yogurt
- 1 tablespoon lemon juice
- 2 teaspoons ground turmeric
- 1 teaspoon garam masala (from the 2 teaspoons total)
- 2 teaspoons ground cumin
- 1 teaspoon chili powder (adjust to your taste)
- 1 teaspoon salt (from the 2 teaspoons total)
For the Sauce:
- 3 tablespoons butter, divided
- 1 large onion, finely chopped
- 4 garlic cloves, minced
- 1 tablespoon fresh ginger, grated
- 1 (14 oz) can (400g) crushed tomatoes or tomato puree
- 1 teaspoon garam masala (remaining from the 2 teaspoons total)
- 1 teaspoon ground coriander
- 1 teaspoon salt (remaining from the 2 teaspoons total)
- 1 cup heavy cream
- Fresh cilantro (coriander leaves), chopped, for garnish
To Serve:
- Cooked basmati rice or warm naan bread
Time You’ll Need
Plan for about 1 hour of marinating time (though overnight is best!), 20 minutes of prep, and around 30 minutes of cooking. Altogether, you’re looking at approximately 1 hour 45 minutes, but it’s mostly hands-off while the chicken marinates and the sauce simmers.
Step-by-Step Instructions
1. Marinate the Chicken
In a large bowl, mix together the yogurt, lemon juice, turmeric, half the garam masala, cumin, chili powder, and half the salt. Add the chicken pieces, stirring to coat them well. Cover and pop it into the fridge for at least 1 hour, or ideally overnight. This helps the chicken soak up all the flavors and become tender.
2. Brown the Chicken
Heat 1 tablespoon of butter in a large skillet over medium-high heat. Shake off excess marinade from the chicken and add the pieces to the pan. Cook until browned on all sides, about 5 to 7 minutes. Don’t worry if the chicken isn’t fully cooked yet — it will finish cooking in the sauce. Remove the chicken and set aside.
3. Make the Sauce
In the same skillet, melt the remaining 2 tablespoons of butter. Add the chopped onion and sauté until golden and soft, about 5 to 6 minutes. Stir in the garlic and ginger and cook another 1 to 2 minutes until fragrant.
4. Add Spices and Tomatoes
Mix in the remaining garam masala, coriander, and salt. Pour in the crushed tomatoes, stirring to combine everything. Let the sauce simmer gently on medium-low heat for 12 to 15 minutes. You’ll notice it thickens up and the oil starts to separate—that’s when you know it’s ready for the chicken.
5. Finish the Curry
Put the browned chicken back into the skillet, stirring so each piece gets coated in the sauce. Pour in the heavy cream and reduce the heat to low. Let it simmer softly for 10 to 15 minutes, until the chicken is fully cooked, tender, and the sauce is rich and creamy.
6. Garnish and Serve
Taste and adjust the seasonings if needed. Sprinkle chopped fresh cilantro on top for a fresh burst of flavor. Serve your Butter Chicken hot with fluffy basmati rice or warm naan bread, perfect for soaking up all the delicious sauce.
Can I Use Frozen Chicken for Butter Chicken?
Yes! Just make sure to thaw the chicken fully in the refrigerator overnight before marinating. Pat it dry with paper towels to avoid extra moisture before cooking.
Can I Make Butter Chicken Ahead of Time?
Absolutely! Butter Chicken actually tastes great the next day as the flavors deepen. Store it in an airtight container in the fridge for up to 3 days and gently reheat on the stove or microwave.
What Can I Substitute for Heavy Cream?
You can use coconut milk for a dairy-free option or evaporated milk for slightly lighter creaminess. Keep in mind coconut milk adds a subtle coconut flavor, which actually pairs nicely with the spices.
How Should I Store Leftovers?
Cool the Butter Chicken completely and store it in an airtight container in the refrigerator for up to 3 days. Reheat gently to avoid curdling the sauce, adding a splash of cream or water if it seems too thick.
