Worked out from this recipe's ingredients. If you're cooking for an allergy, always read the full ingredient list.
The version of butter chicken that tastes like the $29 restaurant plate, not like spiced tomato sauce. Two things get you there: a two-stage yogurt marinade that seasons the chicken all the way through and keeps it juicy under high heat, and a tomato-cashew gravy that is simmered, blended, then pushed through a fine-mesh sieve before it ever meets the butter. Straining is the step home cooks skip and the reason restaurant makhani feels like velvet on the spoon.
Ingredients
First marinade
2 lb boneless skinless chicken thighs, cut into 2-inch pieces
1 tbsp lemon juice
1 tbsp grated fresh ginger
1 tbsp grated garlic
1 1/4 tsp fine sea salt
1 tsp Kashmiri chile powder
Yogurt marinade
3/4 cup full-fat plain yogurt (not Greek), whisked smooth
1 tbsp neutral oil
1 1/2 tsp garam masala
1 tsp ground cumin
1 tsp ground coriander
1/2 tsp ground turmeric
1/2 tsp freshly ground black pepper
1 tbsp chickpea flour or all-purpose flour
Tomato-butter gravy
4 tbsp unsalted butter
1 tbsp neutral oil
4 green cardamom pods, lightly crushed
1 2-inch cinnamon stick
4 whole cloves
1 large yellow onion, roughly chopped
2 tbsp chopped fresh ginger
6 garlic cloves, smashed
1 serrano chile, halved lengthwise
1 28-oz can whole peeled tomatoes, preferably San Marzano
1/3 cup raw cashews
1 tbsp Kashmiri chile powder
1 tsp fine sea salt, plus more to taste
3/4 cup water
To finish
4 tbsp cold unsalted butter, cubed
1/2 cup heavy cream
1 1/2 tsp garam masala
1 tbsp dried fenugreek leaves (kasuri methi)
1 1/2 tsp sugar or honey, or to taste
2 tbsp chopped cilantro
Basmati rice or naan, for serving
Instructions
Pat the chicken very dry. In a large bowl, toss it with the lemon juice, grated ginger, grated garlic, 1 1/4 tsp salt and 1 tsp Kashmiri chile powder until every piece is coated. Let it sit 15 minutes at room temperature — this first, thin marinade seasons the meat itself instead of just the surface.
Whisk together all the yogurt marinade ingredients in a separate bowl until completely smooth and lump-free, then fold it into the chicken. Cover and refrigerate at least 4 hours and up to 24. The chickpea flour keeps the yogurt from breaking and sliding off in the oven.
Start the gravy: in a wide saucepan or Dutch oven over medium heat, melt 4 tbsp butter with 1 tbsp oil. Add the cardamom, cinnamon and cloves and cook 45 seconds, until the cardamom smells sweet and fragrant.
Add the onion, chopped ginger, garlic and serrano. Cook 8–10 minutes, stirring often, until the onion is soft and translucent — do not let it brown, or the gravy will taste sweet and caramelized rather than clean and bright.
Add the canned tomatoes with their juice, crushing them with your hands as they go in, plus the cashews, 1 tbsp Kashmiri chile powder, 1 tsp salt and 3/4 cup water. Bring to a simmer, then cook uncovered at a lazy bubble for 25 minutes, stirring occasionally, until the tomatoes have collapsed and the cashews are soft enough to smash against the side of the pot.
While the gravy simmers, arrange an oven rack 6 inches below the broiler and heat the oven to 450°F. Line a rimmed baking sheet with foil and set a wire rack inside it. Lift the chicken from the marinade, letting the excess drip off, and space the pieces out on the rack.
Roast the chicken 15 minutes, then switch the oven to broil and cook 3–5 minutes more, until the edges are charred in spots and the thickest piece registers 175°F. Let it rest on the rack; save any juices on the foil.
Fish the cinnamon stick and cloves out of the gravy (leave the cardamom pods if you like — they blend fine). Let the mixture cool 5 minutes, then blend on high in a standing blender for a full 90 seconds, working in two batches and holding the lid with a towel. It should look glossy and completely smooth.
Now the step that makes it silky: set a fine-mesh sieve over a clean bowl and push the purée through with a flexible spatula or ladle, scraping until only a couple tablespoons of dry seed and skin fiber remain. Discard the solids and return the strained gravy to the rinsed-out pot.
Bring the gravy to a bare simmer over medium-low heat. Whisk in the cold cubed butter a few pieces at a time, letting each addition melt before adding more — off a hard boil, so it emulsifies instead of separating into an oil slick. Stir in the cream.
Crush the kasuri methi between your palms directly into the pot, add the garam masala and sugar, and simmer 3 minutes. Taste and adjust: it should taste rich and faintly sweet with a rounded, not sharp, tomato edge. Add salt or another 1/2 tsp sugar as needed.
Add the roasted chicken and its collected juices, and simmer gently 5 minutes so the gravy tightens around the meat. Scatter with cilantro and serve with basmati rice or naan.
Chef's tips
Straining is not optional if you want the restaurant texture — tomato skins and seeds survive even a high-powered blender and are what make homemade makhani taste grainy and acidic.
Kashmiri chile powder gives the signature red color with very little heat. If you can't find it, use 2 tsp sweet paprika plus 1/4 tsp cayenne.
No time to marinate overnight? Two hours still works, but don't skip the 15-minute lemon-ginger-garlic stage — it's what seasons the interior of the chicken.
The gravy (through step 9) freezes beautifully for 3 months. Freeze it before adding the finishing butter and cream, then thaw and enrich when you're ready to eat.
If the finished sauce ever looks broken or oily, pull it off the heat and whisk in a tablespoon of cold cream; it will pull back together.
Nutrition (per serving, estimated)
820calories
48gprotein
25gcarbs
58gfat
Estimates only — values vary with brands and portions.
Made with Sprig
Silky Butter Chicken with Yogurt-Marinated Thighs was created in Sprig — the AI chef that turns any craving into a complete recipe, plans your week, and shops with one smart list.