Butter Chicken Recipe (Murgh Makhani)
Butter chicken, or murgh makhani, is built around a simple contrast: chicken with a lightly charred, spice-coated surface and a smooth tomato gravy finished with butter and cream. This homemade butter chicken recipe brings those elements together in a regular kitchen, using a heavy pan, a blender and ingredients that are easy to find at most Indian supermarkets.
The chicken gets a short yoghurt marinade before it is seared in batches. The sauce starts with browned onion, ginger, garlic and ground spices, then simmers with tomato and cashews before being blended until smooth. Cream, butter and crushed kasuri methi go in near the end, so the finished curry tastes rounded rather than heavy.
Plan for about 1 hour 35 minutes from start to finish, including a 30-minute marinade. The hands-on cooking is shorter, and you can marinate the chicken or make the sauce ahead to make dinner easier.
Butter chicken at a glance
- Serves: 4
- Preparation: 20 minutes, plus 30 minutes marinating
- Cooking: 45 minutes
- Total: 1 hour 35 minutes
- Best chicken cut: Boneless, skinless chicken thighs
- Heat level: Mild to medium, adjustable
What is butter chicken (murgh makhani)?
Butter chicken is a North Indian curry commonly known as murgh makhani. It pairs seasoned chicken with a tomato-based gravy enriched with butter and cream. The sauce should be smooth and gently spiced, with enough tang from the tomatoes to balance the richness. Kashmiri chilli powder gives the curry its warm red-orange colour without making it intensely hot.
Butter chicken and chicken tikka masala are often grouped together on restaurant menus, but they are not identical recipes. Butter chicken is generally associated with a mellow tomato, butter and cream gravy. Tikka masala often has a more pronounced onion-and-spice profile. Home recipes vary, so this version uses a little browned onion for body while keeping the tomato, cashew and cream combination at the centre.
Why this butter chicken recipe works
Yoghurt helps the spices cling to the chicken
Thick plain yoghurt forms the base of the marinade. Lemon juice, ginger, garlic and ground spices season the surface, while the yoghurt helps the coating stay on the chicken as it cooks. Thirty minutes is enough to get started; a few hours or overnight in the refrigerator gives you more flexibility.
Cooking the chicken in batches builds colour
A crowded pan fills with steam and moisture, making it difficult for the chicken to brown. Leave a little space between the pieces and cook in two batches if needed. The chicken will finish cooking in the sauce, so the first sear is about developing colour rather than cooking every piece all the way through.
Cashews give the tomato sauce body
Soaked cashews blend into the tomato masala and help create a fuller, silkier texture. They are not a replacement for cream; they add body before the finishing dairy goes in. Blend the sauce thoroughly, then return it to the pan before adding the chicken.
Cream and kasuri methi belong near the end
Stirring in cream at the end keeps the sauce smooth and prevents it from reducing too far. Crushed dried fenugreek leaves, also called kasuri methi, add a savoury, slightly bittersweet aroma that makes the finished curry taste more complete.
Ingredients for homemade butter chicken
For the chicken marinade
- 600 g boneless, skinless chicken thighs, cut into roughly 4 cm pieces
- 100 g thick plain yoghurt, preferably full-fat
- 1 tbsp lemon juice
- 1 tbsp ginger-garlic paste
- 1 tsp Kashmiri chilli powder
- 1 tsp ground coriander
- ½ tsp ground cumin
- ½ tsp garam masala
- ¼ tsp ground turmeric
- ¾ tsp fine salt
- 1 tbsp neutral oil
For the butter chicken sauce
- 30 g raw, unsalted cashews
- 2 tbsp unsalted butter (30 g)
- 1 tbsp neutral oil
- 1 medium onion (about 150 g), finely chopped
- 1 tbsp ginger-garlic paste
- 1 tsp ground coriander
- 1 tsp ground cumin
- 1 tsp Kashmiri chilli powder
- ½ tsp garam masala
- ¼ tsp ground turmeric
- 1 tbsp tomato paste
- 400 g tomato passata
- 125 ml water, plus a little more if needed
- 1 tsp sugar, or to taste
- ¾ tsp salt, then adjust to taste
To finish
- 120 ml heavy cream or thickened cream
- 1 tbsp unsalted butter (15 g)
- 1 tsp dried kasuri methi, crushed between your palms
- 2 tbsp chopped coriander leaves
- A little extra cream for serving, optional
Ingredient notes and substitutions
Chicken thighs or chicken breast: Thighs are forgiving and stay juicy during the final simmer. Chicken breast also works; cut it into evenly sized pieces and check it earlier so it does not overcook. Bone-in pieces need a different cooking time and are not the best fit for this quick pan method.
Yoghurt: Use thick, plain, unsweetened yoghurt. A very thin yoghurt can make the marinade watery. Greek yoghurt is convenient, but strained homemade dahi works too.
Kashmiri chilli powder: This is used mainly for colour and gentle warmth. Regular hot chilli powder can be much stronger, so use less and adjust after tasting. Mild paprika can replace some or all of it, although the colour and flavour will be a little different.
Tomato passata: Passata gives the sauce a smooth tomato base without a separate blending step. If using canned chopped tomatoes, blend them before adding or blend the cooked sauce later. Fresh tomatoes vary in sweetness and acidity; use ripe ones and simmer until their raw taste has cooked out.
Cashews: Use raw, unsalted cashews. Soak them in hot water for 15 minutes so they blend more easily. If you have a nut allergy, leave them out and simmer the tomato base for a little longer to reduce it; the sauce will be less thick and creamy.
Kasuri methi: Dried fenugreek leaves are different from fresh fenugreek. Crush them between your fingers before adding to release their aroma. They are worth seeking out at an Indian grocery store, but the recipe still works without them.
How to make butter chicken
1. Marinate the chicken
In a large bowl, mix the yoghurt, lemon juice, ginger-garlic paste, Kashmiri chilli powder, coriander, cumin, garam masala, turmeric, salt and oil. Add the chicken and turn the pieces until evenly coated. Cover and refrigerate for at least 30 minutes, or up to 12 hours. If it has been refrigerated overnight, take the bowl out while you prepare the sauce ingredients; do not leave raw chicken at room temperature for an extended period.
2. Soak the cashews
Cover the cashews with hot water and leave for 15 minutes. Drain them before blending. This can happen while the chicken marinates.
3. Sear the chicken
Heat a large, heavy-based frying pan over medium-high heat. Add 1 tbsp of the measured butter and the 1 tbsp oil. Lift the chicken pieces out of the marinade, letting excess coating drip back into the bowl, and place them in a single layer. Keep the leftover raw marinade separate; do not pour it into the finished sauce.
Sear the chicken for about 2 to 3 minutes on the first side, then turn and cook for another 2 minutes. Work in batches rather than crowding the pan. The pieces should pick up golden-brown patches. Transfer them to a clean plate. They will finish cooking in the sauce.
4. Build the tomato masala
Reduce the heat to medium. Add the remaining 1 tbsp butter to the same pan. Once it melts, add the chopped onion. Cook for 6 to 8 minutes, stirring often, until the onion is soft and golden. Scrape up the browned pieces left by the chicken; they add flavour to the sauce.
Add the ginger-garlic paste and cook for about 45 seconds, until fragrant. Stir in the coriander, cumin, Kashmiri chilli powder, garam masala and turmeric. Cook for 20 to 30 seconds, just long enough for the spices to become aromatic.
Add the tomato paste and cook for 1 minute. Pour in the passata and water, then add the salt and sugar. Bring the sauce to a gentle simmer and cook uncovered for 10 to 12 minutes, stirring occasionally. It should thicken slightly and lose the sharp, raw taste of the tomatoes.
5. Blend the sauce until smooth
Add the drained cashews and simmer for another 3 minutes. Turn off the heat and let the sauce stop bubbling before blending. Use an immersion blender directly in the pan, or carefully transfer the mixture to a blender in batches. Hot liquids expand when blended, so keep the lid vented according to the blender instructions and cover the opening with a folded kitchen towel. Blend until completely smooth.
Return the sauce to the pan. Add a splash of water if it is thicker than pouring cream; it will thicken again when the chicken simmers.
6. Finish cooking the chicken in the sauce
Add the seared chicken and any juices collected on the plate. Stir to coat, cover partially and simmer gently for 7 to 10 minutes, stirring once or twice. Check the largest piece with a food thermometer: chicken should reach an internal temperature of 74°C (165°F). If the pieces are large, they may need a few more minutes.
7. Add the cream, butter and fenugreek
Lower the heat. Stir in the cream and simmer gently for 1 to 2 minutes; avoid a hard boil. Add the final tablespoon of butter and the crushed kasuri methi. Taste and adjust the salt, sugar or chilli. Finish with chopped coriander and a small drizzle of cream if you like.
Serve hot with basmati rice, naan, roti or paratha.
How to get restaurant-style colour and flavour
- Do not crowd the chicken: Cook in batches so moisture can evaporate and the pieces can brown.
- Let the onion turn golden: Pale, barely softened onion will give the sauce a flatter flavour. Take the time to cook it properly without burning it.
- Cook the tomato paste: A short cook in the pan helps it blend into the masala instead of tasting raw.
- Blend thoroughly: Cashew pieces can make the sauce grainy. Blend until smooth, then pass through a fine sieve if your blender leaves small bits behind.
- Finish gently: Add cream near the end and keep the sauce at a gentle simmer. A rolling boil is unnecessary.
What to serve with butter chicken
Steamed basmati rice is an easy match because it soaks up the sauce without competing with it. Naan, roti and paratha are also good for scooping. To balance the rich gravy, add something fresh and crisp: sliced cucumber, a tomato and onion salad, or a simple kachumber with lemon juice, salt and coriander. A bowl of plain yoghurt or cucumber raita makes a cooling side if you have made the curry hotter.
Make-ahead, storage and reheating
Make ahead: Marinate the chicken in a covered container in the refrigerator for up to 12 hours. You can also prepare the tomato-cashew sauce a day ahead, cool it promptly and refrigerate it separately. Reheat the sauce gently, then add freshly seared chicken and finish cooking as directed.
Refrigerate leftovers: Cool the curry promptly and transfer it to an airtight container. Refrigerate for up to 3 days. The sauce will thicken as it chills.
Reheat: Warm it in a covered saucepan over low heat, stirring occasionally. Add a tablespoon or two of water if the gravy is too thick. Heat until steaming throughout. Avoid vigorous boiling, which can make a cream-based sauce look split.
Freeze: For the best texture, freeze the tomato-cashew sauce before adding the cream. Thaw it in the refrigerator, reheat gently, add the cooked chicken and finish with cream, butter and kasuri methi. Fully finished butter chicken can also be frozen in an airtight container, although the sauce may change texture slightly after thawing.
Butter chicken recipe FAQs
Can I make butter chicken without a tandoor or barbecue?
Yes. A heavy frying pan works well for this recipe. Sear the chicken in batches over medium-high heat, then finish it in the sauce. For more surface colour, spread the marinated pieces on a rack over a lined tray and cook under a hot oven grill, turning once, until browned and cooked through.
Can I use chicken breast instead of thighs?
Yes. Use boneless chicken breast cut into evenly sized pieces. Sear briefly and check the internal temperature during the final simmer so the meat reaches 74°C (165°F) without spending longer than necessary in the sauce.
How long should I marinate chicken for butter chicken?
Thirty minutes is a useful minimum for this recipe. A few hours gives you more flexibility, and you can leave it covered in the refrigerator for up to 12 hours. Keep raw chicken refrigerated while it marinates.
Why is my butter chicken sauce too thin?
Simmer the tomato base for a few more minutes before blending, or let the finished sauce reduce gently before adding the cream. Make sure the cashews are blended smoothly. If the curry is already finished, simmer it uncovered over low heat, stirring often, until it reaches the consistency you prefer.
Why does my butter chicken taste too sour?
Tomatoes vary in acidity. Simmer the sauce longer to cook out the sharp flavour, then add a little sugar in small increments and taste after each addition. A little extra cream or butter can soften the acidity too, but add it gradually so the curry does not become heavy.
Can I make butter chicken less spicy?
Use mild Kashmiri chilli powder or paprika and leave out any extra hot chilli. Garam masala adds warmth but does not usually make the dish sharply hot. Adjust the chilli in the marinade and sauce separately, since both contribute to the final heat.
Can I make this recipe without cashews?
Yes. Omit the cashews and reduce the tomato sauce for a few extra minutes. The gravy will be less thick and slightly less rounded, but it will still work. Do not use cashews if anyone eating the dish has a nut allergy.
Can I make butter chicken dairy-free?
The traditional flavour of this version relies on yoghurt, butter and cream. For a dairy-free variation, use an unsweetened plant-based yoghurt in the marinade and a suitable plant-based cooking cream and butter alternative in the sauce. The flavour and texture will change, so check that the substitutes are unsweetened and suitable for cooking.
Is butter chicken the same as chicken tikka masala?
No. They are related restaurant curries, but the recipes differ. Butter chicken is usually milder and centred on a buttery tomato-and-cream gravy. Chicken tikka masala often has a stronger onion and spice profile. Ingredients and methods vary between cooks and restaurants.
Final tips for a smooth, balanced curry
For the best result, give the chicken time in the yoghurt marinade, brown it without crowding the pan, and let the tomato masala cook before blending. Add the cream only after the chicken is cooked through, then finish with butter and crushed kasuri methi. Keep the heat gentle and taste the sauce before serving. That sequence gives you tender chicken and a smooth, rich gravy that works just as well over rice as it does with warm flatbread.
For another chicken dinner with a different flavour profile, try our Simple Homemade Chicken Ramen.