The first time I attempted butter chicken at home, I made the rookie mistake of skipping the marinade step entirely. The chicken turned out okay-ish, but the sauce and the meat tasted like they were on completely different plates. It wasn’t until I actually let the yogurt and spices do their job overnight that everything clicked into place.
Butter chicken is one of those dishes that feels intimidating from the outside. The ingredient list looks long, the sauce needs blending, and everyone acts like it takes all day. Here’s the thing though: most of that time is just waiting. The actual hands-on cooking is pretty straightforward once you get the hang of it.
This is the kind of dish that fills your entire kitchen with warmth. The combination of tomatoes, cream, and butter creates this rich, velvety sauce that coats every piece of chicken perfectly. My kids actually fight over who gets the last scoop, and my husband started requesting it almost every week after I finally got the recipe right.

What Makes Butter Chicken So Good
Butter chicken, or murgh makhani, originally came out of Delhi in the 1950s. It was created as a way to use up leftover tandoori chicken by simmering it in a buttery tomato sauce. That’s the beauty of it: it started as a practical, no-waste dish and somehow became one of the most popular Indian recipes in the world.
The secret is in the layering. You’re building flavor at every single step. The marinade works on the chicken. The onions add sweetness when they cook down. The spices bloom in the butter. The tomatoes bring acidity. And then the cream rounds everything out at the end. Skip any one of those layers and you’ll notice something’s off.
If you enjoy rich, creamy curries like this one, you might also love our Thai Green Curry Chicken. It’s a completely different flavor profile but uses a similar technique of building a gorgeous sauce around tender chicken pieces.
How to Store Butter Chicken
This is actually one of those dishes that tastes even better the next day. The flavors meld together overnight and the sauce gets a little thicker in the best way possible.
Keep leftovers in an airtight container in the fridge for up to 4 days. When you reheat it, do it on the stovetop over low heat rather than the microwave. Add a small splash of cream or water if the sauce has thickened too much.
For freezing, portion it out into individual containers and freeze for up to 3 months. Thaw overnight in the fridge, then reheat on the stovetop. The sauce holds up really well to freezing, honestly. Just stir it a bit as it warms up and you’re good to go.
Ingredients
For the Chicken Marinade:
- 1.5 lbs chicken thighs, cut into bite-sized pieces
- 1 cup plain yogurt
- 2 tablespoons lemon juice
- 1 teaspoon turmeric
- 1 teaspoon red chili powder
- 1 teaspoon garam masala
- Salt to taste
For the Sauce:
- 3 tablespoons butter
- 1 tablespoon vegetable oil
- 1 large onion, finely diced
- 4 cloves garlic, minced
- 1 tablespoon fresh ginger, grated
- 1 can (28 oz) crushed tomatoes
- 1 teaspoon red chili powder
- 1 teaspoon ground cumin
- 1 teaspoon ground coriander
- 1/2 teaspoon turmeric
- 1 teaspoon sugar
- Salt to taste
- 1/2 cup heavy cream
- 2 tablespoons butter (for finishing)
For Serving:
- Basmati rice or warm naan bread
- Fresh cilantro, chopped
- Lemon wedges

Instructions
- Marinate the chicken. Toss the chicken pieces with yogurt, lemon juice, turmeric, chili powder, garam masala, and salt in a bowl. Cover and refrigerate for at least 1 hour. Overnight is even better if you have the time, and trust me, it makes a real difference.
- Cook the chicken. Preheat your oven to 425°F. Spread the marinated chicken on a baking sheet in a single layer. Bake for about 15 minutes until it’s lightly charred on the edges. Set it aside while you work on the sauce.
- Start the sauce. In a large pot, heat butter and oil over medium heat. Add the diced onion and cook for about 7 to 8 minutes until it’s soft and golden. Stir it regularly so it doesn’t burn on the bottom.
- Add aromatics. Toss in the garlic and ginger. Cook for another minute until you can smell them. Don’t let the garlic go past golden or it’ll turn bitter and throw off the whole sauce.
- Add tomatoes and spices. Pour in the crushed tomatoes. Add chili powder, cumin, coriander, turmeric, sugar, and salt. Stir everything together and let it simmer on medium-low heat for about 15 minutes. The sauce should thicken up a bit during this time.
- Blend it smooth. Let the sauce cool for a few minutes, then blend it until it’s completely smooth. An immersion blender works great here. If you’re using a regular blender, be careful with the hot liquid and do it in batches with the lid slightly cracked.
- Bring it together. Pour the blended sauce back into the pot. Add the baked chicken pieces. Simmer on low heat for about 10 minutes so the chicken soaks up some of that sauce.
- Finish with cream and butter. Stir in the heavy cream and the remaining 2 tablespoons of butter. Let it heat through for another 2 to 3 minutes. Taste and adjust salt if needed. This is where you can also add a little more cream if you want it richer.
- Serve. Ladle the butter chicken over basmati rice or serve alongside warm naan. Top with fresh cilantro and a squeeze of lemon.

A Few Tips That Actually Matter
The yogurt marinade isn’t just for flavor. It tenderizes the chicken and helps it hold onto the spices when it bakes. Don’t skip it or rush it.
If your sauce tastes a little flat after blending, a pinch of sugar and a squeeze of lemon will fix it right away. That’s the trick I wish someone had told me earlier on.
For a lighter version, you can swap the heavy cream for coconut cream. It changes the flavor slightly but still gives you that rich, creamy texture. I actually did this once when I ran out of cream and my husband didn’t even notice the difference.
Pair this with our Indian Biryani Rice for a complete Indian meal that’ll make your dinner table look like something out of a restaurant. And if you’re in the mood for another hearty curry, check out our Indian Chana Masala recipe too. It’s a great vegetarian option that uses a lot of the same spices and honestly comes together even faster than butter chicken does.
This article is part of our comprehensive guide on Asian Cuisine: Authentic Recipes, Street Food Favorites & Traditional Dishes. For the full guide, visit the link above.
Indian Butter Chicken
Creamy tomato-based curry with tender chicken and aromatic spices
Ingredients
For the Chicken Marinade:
- 1.5 lbs chicken thighs, cut into bite-sized pieces
- 1 cup plain yogurt
- 2 tablespoons lemon juice
- 1 teaspoon turmeric
- 1 teaspoon red chili powder
- 1 teaspoon garam masala
- Salt to taste
For the Sauce:
- 3 tablespoons butter
- 1 tablespoon vegetable oil
- 1 large onion, finely diced
- 4 cloves garlic, minced
- 1 tablespoon fresh ginger, grated
- 1 can (28 oz) crushed tomatoes
- 1 teaspoon red chili powder
- 1 teaspoon ground cumin
- 1 teaspoon ground coriander
- 1/2 teaspoon turmeric
- 1 teaspoon sugar
- Salt to taste
- 1/2 cup heavy cream
- 2 tablespoons butter (for finishing)
For Serving:
- Basmati rice or warm naan bread
- Fresh cilantro, chopped
- Lemon wedges
Instructions
- Marinate the chicken. Toss the chicken pieces with yogurt, lemon juice, turmeric, chili powder, garam masala, and salt in a bowl. Cover and refrigerate for at least 1 hour. Overnight is even better if you have the time.
- Bake the chicken. Preheat your oven to 425°F. Spread the marinated chicken on a baking sheet in a single layer. Bake for about 15 minutes until it’s lightly charred on the edges. Set aside while you make the sauce.
- Cook the onion. In a large pot, heat butter and oil over medium heat. Add the diced onion and cook for about 7 to 8 minutes until it’s soft and golden. Stir it regularly so it doesn’t burn on the bottom.
- Add aromatics. Toss in the garlic and ginger. Cook for another minute until you can smell them. Don’t let the garlic go past golden or it’ll turn bitter and throw off the whole sauce.
- Build the sauce. Pour in the crushed tomatoes. Add chili powder, cumin, coriander, turmeric, sugar, and salt. Stir everything together and let it simmer on medium-low heat for about 15 minutes until the sauce thickens up.
- Blend it smooth. Let the sauce cool for a few minutes, then blend until completely smooth. An immersion blender works great here. If you’re using a regular blender, blend in batches with the lid slightly cracked to let steam escape.
- Combine chicken and sauce. Pour the blended sauce back into the pot. Add the baked chicken pieces and simmer on low heat for about 10 minutes so the chicken absorbs some of that rich sauce.
- Finish and serve. Stir in the heavy cream and the remaining 2 tablespoons of butter. Let it heat through for another 2 to 3 minutes. Taste and adjust salt if needed. Ladle over basmati rice or serve with warm naan, topped with cilantro and lemon wedges.
Nutrition Per Serving
Kitchen Notes
Marinade Time: The yogurt marinade does two things: it flavors the chicken and tenderizes it. At least 1 hour is the minimum, but if you can do it overnight, the chicken will be noticeably more tender and flavorful.
Sauce Consistency: If your sauce tastes flat after blending, a pinch of sugar and a squeeze of lemon will fix it right away. If it’s too thick, add a splash of cream or water while simmering.
Lighter Swap: Heavy cream can be replaced with coconut cream for a lighter version. It changes the flavor slightly but still gives you that rich, creamy texture.
Storage: Keep leftovers in an airtight container in the fridge for up to 4 days. The sauce thickens overnight, so add a splash of cream or water when reheating on the stovetop. Freezes well for up to 3 months.
