Homemade Butter Chicken is a classic Indian dish that’s creamy, rich, and packed with tender chicken pieces simmered in a buttery tomato sauce filled with warm spices. The mix of butter, cream, and fragrant spices like garam masala and cumin creates a sauce that’s both smooth and full of comforting flavor.
I love making this dish from scratch because it fills my kitchen with the most inviting aroma, and I can adjust the spices exactly how I like them. It always feels special yet approachable, and the sauce is so good that I find myself spooning it over everything. One tip I have is to marinate the chicken ahead of time to keep it juicy and flavorful throughout.
For serving, I usually go with fluffy basmati rice or warm naan bread to soak up all that delicious sauce. Butter Chicken is a dish that brings people together around the table and makes any meal feel like a celebration. I find it perfect for cozy dinners or when I want to impress guests with something simple but impressive.

Key Ingredients & Substitutions
Chicken: I prefer thighs because they stay juicy and tender, but breasts work fine too. If you want to make it vegetarian, try paneer or tofu instead.
Yogurt: This tenderizes the chicken and adds flavor. Use Greek yogurt for extra creaminess or a dairy-free yogurt for a vegan option.
Butter & Cream: Butter gives a rich base, and cream makes the sauce smooth. You can use coconut cream or cashew cream to make it dairy-free.
Spices (garam masala, turmeric, cumin, etc.): Fresh spices make a big difference. If you’re missing garam masala, combine equal parts cinnamon, cardamom, cloves, and pepper as a quick swap.
Kasuri Methi (dried fenugreek leaves): This adds a unique flavor, but if you can’t find it, a pinch of dried oregano or a little maple syrup can add similar sweetness and aroma.
How Do You Make That Creamy, Flavorful Butter Chicken Sauce?
It starts with cooking the onions slowly until golden and soft—that builds a deep flavor. Then, adding spices and letting them toast briefly brings out their aroma.
- Cook the onions in butter on medium heat for about 6-8 minutes until soft and lightly browned.
- Add garlic, ginger, and spices and stir for another 1-2 minutes; this wakes up their flavors without burning.
- Pour in the tomato puree and simmer 10-12 minutes; this thickens the sauce and intensifies the taste.
- Add cooked chicken and let it simmer gently to absorb the sauce flavors.
- Finish with cream and crushed fenugreek leaves, simmering a few more minutes for a silky, rich finish.
Don’t rush these steps—patience makes the sauce taste rich and balanced! Stir often to avoid burning and keep the sauce smooth. This slow cooking really turns simple ingredients into something special.
Equipment You’ll Need
- Large heavy-bottomed skillet or sauté pan – it heats evenly and helps cook the chicken and sauce without burning.
- Mixing bowl – for marinating the chicken easily and evenly.
- Wooden spoon or silicone spatula – gentle on your pan and perfect for stirring the sauce.
- Measuring spoons and cups – to get your spices and liquids just right for balanced flavor.
- Sharp knife and cutting board – for cutting chicken and chopping onions and herbs safely.
Flavor Variations & Add-Ins
- Swap chicken for paneer to make a vegetarian butter “paneer” dish that’s hearty and holds the sauce well.
- Stir in roasted cashews or almonds near the end for added texture and a subtle nutty flavor.
- Add a pinch of smoked paprika or chipotle powder for a smoky twist that deepens the sauce’s warmth.
- Toss in sautéed spinach or peas at the end for extra color, nutrients, and freshness.

How to Make Homemade Butter Chicken
Ingredients You’ll Need:
- 1.5 lbs (700g) boneless, skinless chicken thighs or breasts, cut into bite-sized pieces
- 1 cup plain yogurt
- 1 tablespoon lemon juice
- 1 tablespoon ginger paste
- 1 tablespoon garlic paste
- 2 teaspoons garam masala
- 1 teaspoon turmeric powder
- 1 teaspoon chili powder (adjust to taste)
- Salt to taste
- 3 tablespoons butter
- 1 tablespoon vegetable oil
- 1 large onion, finely chopped
- 2 teaspoons ginger paste
- 2 teaspoons garlic paste
- 1-2 green chilies, finely chopped (optional)
- 1 cup tomato puree (fresh or canned)
- 1 teaspoon ground cumin
- 1 teaspoon paprika
- 1 teaspoon coriander powder
- 1/2 cup heavy cream
- 1 tablespoon kasuri methi (dried fenugreek leaves), crushed
- Fresh cilantro (coriander) leaves, chopped for garnish
- Cooked basmati rice or naan, for serving
How Much Time Will You Need?
About 15 minutes to prepare and marinate the chicken (longer if you marinate overnight), plus 30-40 minutes to cook the dish. The total time is around 45 minutes to 1 hour. Marinating longer will give deeper flavor and juicier chicken.
Step-by-Step Instructions:
1. Marinate the Chicken
In a bowl, mix the chicken pieces with yogurt, lemon juice, ginger and garlic pastes, garam masala, turmeric, chili powder, and salt. Stir well to coat all the chicken. Cover and refrigerate for at least 1 hour, or for best results, 4 to 6 hours or overnight.
2. Cook the Chicken
Heat 1 tablespoon butter and 1 tablespoon oil in a large pan over medium-high heat. Add the marinated chicken (shake off excess marinade) and cook until browned on all sides but not fully cooked, about 5-7 minutes. Remove chicken from pan and set aside.
3. Make the Sauce
Add the remaining 2 tablespoons butter to the same pan. Sauté the chopped onion until golden and soft, about 6-8 minutes. Stir in ginger paste, garlic paste, and green chilies if using, cooking for another 2 minutes until fragrant.
4. Spice It Up
Add cumin, paprika, coriander powder, and a pinch of salt. Cook with onions for 1-2 minutes, stirring constantly to release their aroma.
5. Cook the Tomato Base
Pour in tomato puree, stir well, and cook for 10-12 minutes. The sauce will thicken and deepen in color.
6. Combine Chicken and Sauce
Return the chicken to the pan with any juices. Stir to coat with sauce. Cover and simmer on low heat for 10-15 minutes until chicken is tender and fully cooked.
7. Finish with Cream and Fenugreek
Stir in heavy cream and crushed kasuri methi. Simmer an additional 5 minutes to blend flavors and make the sauce creamy and rich.
8. Taste and Garnish
Check seasoning and add salt or chili if needed. Garnish with fresh chopped cilantro.
9. Serve
Serve your butter chicken hot, with fluffy basmati rice or warm naan bread to soak up all that delicious sauce.

Can I Use Frozen Chicken for Butter Chicken?
Yes! Just make sure to fully thaw the chicken in the refrigerator overnight before marinating. Pat it dry to remove excess moisture for better browning.
Can I Make Butter Chicken Ahead of Time?
Absolutely! You can prepare the sauce and cook the chicken up to 2 days in advance. Refrigerate it in an airtight container and gently reheat on the stove, adding a splash of cream or water if the sauce thickens too much.
How Do I Store Leftover Butter Chicken?
Store leftover butter chicken in an airtight container in the refrigerator for up to 3-4 days. Reheat thoroughly on the stove or microwave, stirring occasionally for even heating.
What Can I Serve with Butter Chicken?
It’s great served over steamed basmati rice or alongside warm, soft naan bread. You can also enjoy it with roasted vegetables or a simple green salad for a lighter option.


