Authentic butter chicken recipe, also known as murgh makhani, made restaurant-style in under 30 minutes. This creamy Indian curry is mildly spiced, rich with tomato and butter, and perfect for making ahead.
Serve with fluffy basmati rice, soft naan flat breads, and Indian green chutney for a classic North Indian comfort food at home.

Jump to:
Ingredients
For marinating the chicken

- Chicken - Skinless, boneless chicken thighs are ideal. The breast dries out easily and lacks richness for a true murgh makhani.
- Spices - Garam masala, turmeric powder, chilli powder, dried fenugreek(kasoori methi).
- Yoghurt - Full-fat yoghurt helps tenderise the chicken and emulsify the spices.
- Lemon juice - Always freshly squeezed. Bottled varieties tend to be harsh and metallic.
- Garlic and ginger paste - Make your own garlic and ginger paste or pick some up from your local Indian grocer or supermarket.
For the gravy

- Chopped tomatoes - Use fresh or tinned chopped tomatoes, but make sure they're high quality. Watery or acidic tomatoes will make the sauce hard to balance.
- Cream - Double cream only. Single cream is too thin and doesn't give the signature richness of butter chicken.
- Curry paste - I use Homemade curry paste for full flavor, but a good quality store-bought version works too. If you're not using curry paste, just add 1 tablespoon of tomato paste plus an extra teaspoon of garam masala. This keeps the sauce thick, spiced, and balanced, without compromising too much on flavor.
- Cashew nuts - Roasted or raw, both work. Roasting adds depth and slight nuttiness that enriches the sauce.
- Minced onion - Finely chopped for fast cooking and a smooth texture after blending.
- Butter - Adds richness and rounds out the sauce. Always finish with cold butter for restaurant-style gloss.
Instructions

- Marinate the chicken.
In a large bowl, mix chicken thighs with yogurt, garlic-ginger paste, garam masala, turmeric, chilli powder, salt, fenugreek, and lemon juice.

- Coat and rest.
Use your hands to thoroughly coat the chicken in the marinade. Cover and rest for 10 minutes or up to 24 hours in the fridge is preferred if you plan ahead.

- Sear the chicken.
Heat a cast-iron pan over high heat with a touch of ghee or neutral oil. Sear the marinated chicken in batches until golden on all sides. Set aside. Don't wipe the pan.

- Deglaze with juices.
Add a splash of water or stock to loosen up the pan fond (the browned bits). This will be added to the sauce later for flavor.

- Sauté onions.
In a clean non-stick pan, sauté finely chopped onions in neutral oil or ghee over medium heat until soft and lightly golden.

- Add curry paste.
Stir in the curry paste and cook for 1-2 minutes until aromatic and the oil begins to split from the paste.

- Cook tomatoes.
Add chopped tomatoes and cook down until thick, reduced, and paste-like. This takes about 3 minutes on medium heat.

- Add cream.
Pour in the double cream and stir to combine. Let it bubble gently to bring the flavors together.

- Add cashews.
Stir in roasted cashew nuts. Simmer briefly, just until the nuts begin to soften.

- Blend smooth.
Transfer the mixture to a high-speed or stick blender and blend until completely smooth. Return to the pan.

- Add butter.
Stir in cold butter to enrich and gloss the sauce. Let it melt slowly for the best texture.

- Add chicken and simmer.
Return the seared chicken (with any resting juices) to the sauce. Simmer on low until the chicken is cooked through. Serve hot with naan or rice.
Tandoor flavour without a tandoor
Want that tandoor aroma without lighting a fire?
Add a drop of liquid smoke to the sauce just before blending. It's subtle, but it works-and gives the sauce that unmistakable tandoor aroma and smoky flavor.
What are some common mistakes when making butter chicken?
- Skipping the marinade - The marinade tenderises the meat and adds depth to the gravy. Do not skip it, and if you have the time, let it marinate overnight.
- Full-fat yoghurt - Low-fat yoghurt will split and doesn't give the same richness as full-fat yogurt.
- Overcrowding the pan - Sear the chicken in batches so it browns properly. Too much at once, and you'll end up steaming, not searing.
- Leaving out fenugreek(kasuri methi) - This is essential for authentic tasting butter chicken. No replacement gives the same flavor.
- Simmer, never boil - Medium-low heat is key. A rolling boil will split your cream and flatten the sauce's flavor. A gentle, slow simmer is key.
- Unblended or unstrained gravy - The gravy should coat the back of a spoon and be glossy and smooth. No blender? Push the sauce through a fine sieve to get it as smooth as possible.
- Season as you cook - Tomatoes vary in sweetness and acidity. Always season with salt and sugar in stages to build flavor, and avoid an overly acidic sauce at the end of cooking.
Alternative cooking methods
- Oven grill - Spread the marinated chicken on a tray and grill under high heat for 12-15 minutes, turning halfway. You're looking for some char. No need to fry-just add straight to the sauce.
- Slow cooker - Brown the chicken first if you've got time. Then tip everything-minus the butter-into the cooker and leave it on low for 4 to 5 hours. Stir in the butter at the end and blend the sauce until smooth if you like.
- Pressure cooker / Instant Pot - Start with the onions and paste on sauté mode. Add tomatoes, cream, chicken, and seal. Cook on high for 7 minutes, then let it release naturally. Finish with butter and adjust seasoning.
- BBQ or grill pan - If you want that smoky edge, cook the chicken over coals or a hot grill pan. Add to the sauce just before serving so it stays juicy.
Substitutions
- Coconut milk instead of cream - Use full-fat canned coconut milk for a dairy-free version. It changes the flavor slightly but still works well.
- Tomato paste for curry paste - If you don't have Indian curry paste, use 1 tablespoon tomato paste and add an extra teaspoon of garam masala.
- Yoghurt alternatives - If you're out of Greek yoghurt, use plain full-fat natural yoghurt. Don't use low-fat or it may split.
- Chilli options - Adjust heat with fresh green chillies, extra chilli powder, or a dash of cayenne.
Variations
- Other proteins - Paneer or shrimps work well with this marinade and sauce base. For red meat, use lamb shoulder and cook low and slow.
- Vegan version - Use tofu or veggies, and coconut milk instead of cream. Omit the butter. Marinate as usual and follow the same sauce method.
Storage and reheating
- Fridge - Store in an airtight container for up to 4 days. The flavor deepens over time.
- Freezer - Freeze in portions for up to 3 months. Thaw overnight in the fridge for best texture.
- Reheating - Reheat gently on the stove over low heat. Add a splash of water or cream if the sauce has thickened too much. Avoid microwaving-it can split the sauce and dry out the chicken.
Frequently asked questions
Yogurt marinade - Full-fat yogurt with garlic, ginger, lemon juice, and spices softens the meat and locks in flavor.
Kasuri methi - Dried fenugreek leaves give that unmistakable aroma and taste. Please don't skip it.
Blend the sauce - A smooth, velvety gravy is what separates homemade from restaurant-style.
Tandoor smokiness - Adding just one drop of liquid smoke, or finishing the chicken on a grill, brings out that charred tandoor flavor.
Certainly, but thighs give you that juicy, rich taste that makes this butter chicken stand out. Breasts cook faster and are leaner, so trim chunks and reduce simmer time by a few minutes to avoid dryness.
Use full-fat coconut milk to replicate the richness of using cream and butter. It makes the recipe dairy-free, paleo-friendly, and if you use vegetables or tofu instead of meat, it's a fully vegan dish with the same great flavor.
Definitely. It can be made a day or two in advance. Flavors deepen overnight. On serving day, warm gently without vigorous boiling.
Serving suggestions
Related recipes
This site contains affiliate links. I may earn a tiny commission on qualifying purchases at no extra cost to you. By bookmarking these links you help support the upkeep of this site.
If you found this post helpful or have learned something, please comment, subscribe, and follow me on social media for more delicious recipes.
Recipe
Authentic Indian Butter Chicken(Murgh Makhani)
Ingredients
Marinade
- 450 grams (2 cups) chicken thighs - bonelesss, kinless and cut into 20g chunks - note 1
- 90 grams (½ cups) Greek yoghurt - full-fat - note 2
- 20 grams (1 ⅓ tablespoon) ginger and garlic paste - homemade or store bought - note 3
- 2 grams (1 teaspoon) garam masala - note 4
- 1 gram (½ teaspoon) turmeric powder
- 2 grams (1 teaspoon) Kashmiri chilli powder - note 5
- 4 grams (⅔ teaspoon) salt
- 1 gram (1 teaspoon) dried fenugreek - kasoori methi - note 6
- 8 grams (1 ⅗ teaspoon) lemon juice
Curry gravy
- 200 grams (1 cups) chicken stock - or water for deglazing the pan
- 20 grams (1 ½ tablespoon) oil - or ghee
- 150 grams (1 cups) onion - finely chopped
- 8 grams (1 ⅓ teaspoon) salt
- 100 grams (3/7 cups) curry paste - homemade or good quality bought version - note 7
- 200 grams (1 ⅓ cups) chopped tomatoes - tinned or fresh
- 8 grams (2 teaspoon) sugar
- 350 grams (1 ½ cups) cream - 35% - Whipping cream or double cream
- 50 grams (5 tablespoon) cashew nuts
- 100 grams (3/7 cups) butter - unsalted
Serve with
Instructions
- Marinate the chicken - In a large bowl, mix chicken thighs with yogurt, garlic-ginger paste, garam masala, turmeric, chili powder, salt, fenugreek, and lemon juice.450 grams chicken thighs, 90 grams Greek yoghurt, 20 grams ginger and garlic paste, 2 grams Kashmiri chilli powder, 1 gram turmeric powder, 2 grams garam masala, 4 grams salt, 8 grams lemon juice, 1 gram dried fenugreek
- Coat and rest - Use your hands to thoroughly coat the chicken in the marinade. Cover and rest for 10 minutes or up to 24 hours in the fridge is preferred if you plan ahead.
- Sear the chicken - Heat a cast-iron pan over high heat with a touch of ghee or neutral oil. Sear the marinated chicken in batches until golden on all sides. Set aside. Don't wipe the pan.
- Deglaze with juices - Add a splash of water or stock to loosen up the pan fond (the browned bits). This will be added to the sauce later for flavor.200 grams chicken stock
- Sauté onions - In a clean non-stick pan, sauté finely chopped onions in neutral oil or ghee over medium heat until soft and lightly golden.20 grams oil, 150 grams onion, 8 grams salt
- Add curry paste - Stir in the curry paste and cook for 1-2 minutes until aromatic and the oil begins to split from the paste.100 grams curry paste
- Cook tomatoes - Add chopped tomatoes and cook down until thick, reduced, and paste-like. This takes about 3 minutes on medium heat.200 grams chopped tomatoes, 8 grams sugar
- Add cream - Pour in the double cream and stir to combine. Let it bubble gently to bring the flavors together.350 grams cream
- Add cashews - Stir in roasted cashew nuts. Simmer briefly, just until the nuts begin to soften.50 grams cashew nuts
- Blend smooth - Transfer the mixture to a high-speed or stick blender and blend until completely smooth. Return to the pan.
- Add butter - Stir in cold butter to enrich and gloss the sauce. Let it melt slowly for the best texture.100 grams butter
- Add chicken and simmer - Return the seared chicken (with any resting juices) to the sauce. Simmer on low until the chicken is cooked through. Serve hot with naan or rice.
Notes
- Chicken - Thighs stay succulent after simmering. Cut them into roughly the same size pieces so they cook through at the same pace. Using breast? Just simmer a little less to avoid drying out.
- Yogurt - Full-fat Greek yogurt gives the marinade body and helps tenderize the meat. Low-fat works in a pinch, but prone to splitting.
- Ginger garlic paste - Homemade is as easy as blitzing equal parts ginger & garlic with a splash of oil; keeps 2 weeks in the fridge. Using a jar? Reduce the lemon juice slightly-store brands often include vinegar.
- Garam masala - Widely available online and in most supermarkets. Spice blends vary. Taste yours-if it's cinnamon-heavy, add a pinch more cumin. Freshly ground is worth the small effort to get the spice blend you prefer.
- Chili powder - Kashmiri chili gives gentle warmth and that classic brick-red color. Prefer more kick? Swap half for cayenne.
- Fenugreek - The secret taste of butter chicken. Crush the leaves between your palms before adding-they wake up instantly. No replacement for this, so get it online if you can't find it in a store.
- Curry paste - This is my secret flavor explosion trick. If you don't want to make your own or can't find a store-bought one, then add a tablespoon of tomato paste and a teaspoon of garam masala instead.
- Dairy-free version - Substitute the cream with full-fat coconut milk in place of butter. The curry stays silky and tastes a little sweeter-just balance with an extra pinch of salt or a squeeze of lemon.
- Tandoor smokiness hack - Stir in a drop or two of liquid smoke before blending to mimic that authentic tandoor smoky flavor.














LTebo says
Thank you!
We tried a different recipe, which was just horrid. I knew there was no way that had to have been authentic. We certainly would never try that one, again!
So, I researched on it.
I found your page, and after reading all of the information and this recipe, we gave it another try. I am so glad we did- We were not disappointed!
This recipe is so good, the whole family loved it,and we've put it on our Favorites List.
H.S says
This recipe is phenomenal! Best I’ve ever had. Thank you chef
Charlé Visser says
Glad you liked it! Did you make your own curry paste? Would like to know if you changed anything. Curry is very individual and always find it interesting how people adjust it to their liking.
Anonymous says
Made the paste yes, super atomatic. A little Maldon salt and extra fennel
Vindi says
Amazing butter chicken recipe. I added a bit more cardamom as my garam masala was not heavy in cardamom. Very authentic and delicious