There is a very good reason why butter chicken is one of the most loved Indian dishes: it's pretty darn delicious. Succulent marinated chicken steeped in a rich and creamy tomato sauce, fragrant with warm spices. There's actually not much actual butter in it, but there is a ton of cream which is what makes it so indulgent. I had wanted to make this dish for a long time but never did because for some reason, I felt like it was gonna be a complicated dish! It turned out not to be true at all. Sure, the ingredient list is pretty long, but if you've got a well stocked spice cabinet, you'll probably only need to buy a handful of things. The best thing is that butter chicken is a very forgiving dish with lots of room to adjust according to your taste, and there is no special technique required.
Here's how I suggest going about this to make it even more effortless: split it into 2 days. You can either marinade the chicken and make the sauce the day before serving (the sauce keeps very well in the fridge or freezer), or marinade and cook the chicken off on day 1, and make the sauce and assemble the next day. I find that with a little planning, it makes this so much easier than trying to do it in one go.
Watch The Full Video Tutorial!
All my recipes come with step-by-step video tutorials with extra tips not mentioned in the blog post, so make sure you watch the video below to ensure success - and if you enjoy the show, please consider subscribing to my YouTube channel. Thank you!
- 800g boneless, skinless chicken thighs, cut each thigh into 3 pieces (you can also use breasts)
- 3 cloves garlic
- 1-inch pc ginger
- ⅓ cup full-fat plain yogurt
- 2 tsp kashmiri chili powder or paprika (I prefer smoked paprika)
- 1 tsp garam masala (store bought, or see recipe below)
- 1 tsp ground coriander
- ½ tsp turmeric powder
- 1 tsp cayenne pepper, or to taste
- ¾ tsp salt
Butter Chicken Gravy
- 5 cloves garlic
- 2-inch piece ginger, sliced
- ½ medium onion, chopped
- 1 can (355 ml) diced or crushed tomato, unsalted if possible
- ¼ cup raw cashew nuts (optional)
- 3 Tbsp unsalted butter
- 1 Tbsp kashmiri chili powder or paprika
- 2 tsp garam masala
- 1 tsp cayenne pepper, or to taste
- ¼ tsp ground cloves
- ¼ tsp ground cardamom
- 1 cup whipping cream
- ½ - 1 tsp salt (if your tomato is salted you will need less)
- 1 Tbsp brown sugar, packed
- Lemon juice, as needed
- ½ tsp kasoori methi (dried fenugreek leaves)
- Green chilies, to taste, sliced (optional)
- 10-inch cinnamon sticks
- 2 tsp black peppercorns
- 5-6 green cardamom pods
- 2 Tbsp cumin seeds
- 2 Tbsp coriander seeds
- 1 star anise
- 1 ½ tsp whole cloves
- ½ tsp ground nutmeg
- 2 tsp fennel seeds
Note: Ground versions of any of the above can also be used if you don't have whole ones.
Place all whole spices in a dry saute pan and toast over medium high heat, moving the pan or stirring constantly, until cumin seeds darken slightly. Let cool and grind into a powder and add any powdered spices you're using.
For the chicken:
Make a paste with ginger and garlic by pounding them in a mortar and pestle, or grating them with a fine zester. Add to the chicken along with all remaining marinade ingredients. Toss well and let it sit for at least 30 minutes or overnight.
Preheat the broiler to high and set the rack so that the chicken will be about 4-5 inches away from the element. Place a rack inside a roasting pan, and add a little bit of water to the roasting pan just until the water is a couple of mm deep; this is to prevent the chicken juices from burning and and sticking to the pan (you want the juices in your sauce!).
Place the chicken on the rack and cook under the broiler until charred spots have appeared, about 4-5 minutes per side. Flip and broil the other side until charred. Keep an eye on the water in the roasting pan, if it dries up, add a little bit more. Once the chicken is charred on both sides, let cool completely and KEEP the juices! Don’t worry at this point whether the chicken is done because we will cook it again in the gravy. And oh, the chicken is already quite tasty as is, so try not to eat it all before you're done!
For the Gravy:
Combine garlic, ginger, onion, cashews (if using), and canned tomato in a blender and blend until smooth.
In a large pot, over medium heat, add the butter and let it melt. Once melted, add paprika, cayenne, garam masala, cloves and cardamom, stir into the butter for 10 seconds and add the pureed tomato mixture. Let the mixture cook over low heat, uncovered so it reduces until thick, stirring occasionally, about 30 minutes. Note: Tomato sauce splatters a lot when it simmers, so use a mesh splatter guard to reduce the mess.
Once the tomato sauce is very thick, stir in the whipping cream (hold back a tablespoon or so for a final drizzle if you like), ½ tsp of salt and the sugar. Add the chicken along with all the collected juices, ¼ tsp of the fenugreek leaves. Add a splash of whipping cream or water if you need to adjust the consistency/richness of the sauce. Let the chicken simmer gently in the sauce for 7-10 minutes or until hot, and if the chicken wasn't cooked through before, make sure it's fully cooked at this point.
Once done, do a final taste of the sauce and add more salt, sugar or lemon juice as needed. (I find adding a squeeze of lemon juice at the end gives a nice zing, but how much you need depends on how tart your tomato is.) Stir in some green chilies if you want to give people the option to make it extra spicy, or you can just leave the chilies on the side.
Remove from heat, and if possible, let the chicken sit in the gravy for a couple of hours before serving to let all the flavours mingle.
Garnish with the remaining fenugreek leaves, green chilies, and a drizzle of whipping cream. Serve with rice and/or naan. Enjoy!