The first time I cooked chicken tikka masala without a tandoor, I was convinced I’d fail. No 900°F clay oven, no live charcoal, just my cast-iron skillet and a can of tomato purée. What came out of that pan two hours later — chicken with actual char, sauce the colour of terracotta, the ghost of smoke on the back of every bite — is the recipe I’ve been refining ever since. Here’s how it works at home.
Marinate boneless chicken thighs in yogurt with Kashmiri chili, ginger, garlic, and garam masala for at least four hours. Sear the pieces hard in a cast-iron skillet at 500°F / 260°C until the edges char, then finish them in a simmered sauce of tomato, cream, butter, and toasted whole spices. Total hands-on time is about 45 minutes; the marinade does the heavy lifting overnight.
Jump to
Where tikka masala actually came from
The origin story most people repeat is set in a Glasgow curry house called Shish Mahal in 1971. Ali Ahmed Aslam, the chef, is said to have splashed condensed tomato soup and cream into a plate of dry tandoori chicken to please a bus driver who complained. Food historians push back — Colleen and Peter Grove trace a very similar dish, “shahi chicken masala,” to Balbir Singh’s 1961 cookbook Indian Cookery, published a full decade before Aslam’s kitchen improv.
What isn’t contested is the shape of the dish today: marinated chicken tikka (yogurt-spiced chunks, traditionally fired in a tandoor) drowned in a tomato-cream masala. The UK claimed it as its national dish in 2001; the Indian government pushed for Geographical Indication protection a few years later. Nobody really won. The recipe kept spreading.
Why thighs beat breasts here
Boneless, skinless chicken thighs are non-negotiable for me. Breast meat overcooks in the seconds between “just done” and “sawdust,” and a tomato-cream sauce simmering at 190°F will push it past done in under six minutes. Thigh meat carries roughly 8–10% intramuscular fat and enough connective tissue to stay juicy even when you leave it in the pan an extra minute.
Cut the thighs into pieces slightly larger than a walnut — about 4 cm on the long side. Smaller than that and you lose the caramelised edge that gives tikka its name; larger and the interior stays raw when the exterior chars. Trim the obvious ribbons of fat but leave the marbling; it renders into the sauce.
The two-stage yogurt marinade
Restaurant kitchens split the marinade in two, and after trying it both ways I don’t go back. Stage one is a quick 20-minute soak in lemon juice, salt, and ginger-garlic paste — the acid opens the surface of the meat so the second, longer marinade actually penetrates. Stage two is full-fat yogurt with the dry spices, and this one needs at least four hours, ideally overnight.
Use whole-milk yogurt with at least 3.5% fat. Greek yogurt works but thin it slightly with a spoon of water — otherwise it clumps around the meat and won’t char evenly. And don’t skip kasuri methi (dried fenugreek leaves). A pinch crushed between your palms and stirred into both the marinade and the finished sauce is the single ingredient most home cooks miss. It’s what makes people ask, “why does yours taste like the restaurant’s?”
Getting a tandoor char in a home oven
A tandoor cooks at 480–900°F, roasting chicken skewers in under four minutes and glazing the yogurt into a spotted black-and-red crust. Your home oven maxes out around 550°F, and even that’s not the point — the point is proximity to the heat. Rack the chicken on a wire grid, 4 inches under the broiler element, and you get equivalent surface char in six minutes a side.
Isn’t there a shortcut? Yes — cast iron on the stovetop, ripping hot. I preheat a 12-inch skillet for a full seven minutes on high heat with the exhaust fan on max. When a drop of water evaporates in under a second, the pan is ready. The chicken goes in single-layer, doesn’t move for 90 seconds, and comes off with the char you were after.
Building the masala sauce
The masala is built in layers, and skipping the toasting step at the start is what makes 90% of home versions taste flat. Whole spices — green cardamom, cloves, a piece of cassia — go into hot ghee for 30 seconds before anything else. You’ll smell the shift; the kitchen fills with a warm, resinous perfume that ground spices out of a jar can’t produce.
Onions cook slowly (12–15 minutes) until they collapse into a soft, jammy paste. Tomato purée goes in next, and here you want to cook the raw edge out — another 8–10 minutes until the oil separates and pools at the sides of the pan. That visual cue is the traditional Indian test for a properly cooked base. If you skip past it, the finished sauce will taste sharp and acidic no matter how much cream you add later.
For the chicken
- 750 g boneless, skinless chicken thighs, cut into 4 cm pieces
- 1 tbsp lemon juice
- 1 tsp fine salt
- 1 tbsp ginger-garlic paste
- 200 g full-fat yogurt (whole milk)
- 2 tsp Kashmiri chili powder
- 1 tsp garam masala
- 1 tsp ground cumin
- ½ tsp turmeric
- 1 tsp kasuri methi, crushed
- 1 tbsp neutral oil (for the pan)
For the masala sauce
- 3 tbsp ghee (or 2 tbsp butter + 1 tbsp oil)
- 4 green cardamom pods, lightly crushed
- 3 whole cloves
- 1 small piece cassia bark (or ½ cinnamon stick)
- 2 medium yellow onions, finely diced
- 1 tbsp ginger-garlic paste
- 2 tsp Kashmiri chili powder
- 1 tsp garam masala
- 1 tsp ground coriander
- 400 g passata or good tinned tomato purée
- 150 ml heavy cream (35% fat+)
- 2 tbsp unsalted butter
- 1 tsp kasuri methi, crushed
- 1 tsp sugar (balances the tomato acid)
- Salt to taste
To serve
- Fresh coriander, roughly chopped
- Basmati rice or naan
- Wedge of lime
- Optional: thin swirl of cream
Step-by-step method
- First marinade.Toss the chicken pieces with lemon juice, salt, and 1 tbsp ginger-garlic paste. Leave for 20 minutes at room temperature. This short acid soak opens the meat’s surface so the yogurt marinade actually penetrates.
- Second marinade.Whisk yogurt with Kashmiri chili, garam masala, cumin, turmeric, and crushed kasuri methi. Pour over the chicken, coat every piece, cover, refrigerate 4–24 hours. Overnight is the sweet spot.
- Sear the chicken.Preheat a cast-iron skillet on high heat for 7 minutes with the extractor on. Add 1 tbsp neutral oil, then the chicken in a single layer. Don’t crowd — do two batches. Sear 90 seconds undisturbed, flip, another 90 seconds. Transfer to a plate; leave any charred residue in the pan.
- Toast the whole spices.Wipe the skillet, add ghee over medium heat. Drop in cardamom, cloves, and cassia. Sizzle 30 seconds until fragrant — do not let them darken.
- Sweat the onions.Add diced onions with a pinch of salt. Cook 12–15 minutes, stirring often, until they’re soft, translucent, and edging toward gold. Patience here is non-negotiable.
- Bloom the ground spices.Stir in ginger-garlic paste, Kashmiri chili, garam masala, and ground coriander. Cook 45 seconds until the raw smell disappears. Add 2 tbsp water if the spices catch.
- Cook the tomato.Pour in the passata. Simmer 8–10 minutes, stirring, until the oil separates and pools at the pan’s edges. This is the visual cue that says the tomato is properly cooked out.
- Finish the sauce.Lower heat. Stir in cream, butter, sugar, and crushed kasuri methi. Simmer 3 minutes until glossy and coating.
- Marry the chicken.Return the seared chicken and any resting juices to the pan. Simmer gently for 6–8 minutes at 190°F / 88°C until the chicken is cooked through and the sauce clings.
- Rest and finish.Off the heat, taste for salt. Scatter chopped coriander, add a swirl of cream, and let sit 5 minutes before serving. The sauce tightens as it rests.
Mistakes that flatten the flavour
Storage & make-ahead
FAQ
Is chicken tikka masala the same as butter chicken?
They’re close cousins, not twins. Butter chicken (murgh makhani) is smoother and sweeter, built on a puréed tomato-butter base with fewer whole spices. Tikka masala is chunkier, tangier from the yogurt marinade, and carries visible char on the chicken. If you’re eating something orange-red with no char, it’s probably butter chicken.
Can I make this without cream?
Yes. Substitute full-fat coconut milk (150 ml) for a slightly sweeter, dairy-free version, or use cashew cream (50 g raw cashews soaked and blended with 100 ml water) for the closest match to dairy. Both work, though the texture shifts — coconut adds a subtle tropical note that some love and some don’t.
How long should the chicken marinate, honestly?
Minimum four hours, maximum 24. Under four and the yogurt hasn’t tenderised the meat or carried the spices past the surface. Past 24 hours the acid starts to break down the protein and you get a mealy texture. Overnight in the fridge (10–14 hours) is the reliable sweet spot.
What can I use instead of Kashmiri chili powder?
Sweet paprika plus a small pinch of cayenne (roughly 2 tsp paprika + ¼ tsp cayenne) approximates both the colour and the modest heat. Deggi mirch is another Indian chili blend that works one-for-one. Avoid pure cayenne or standard chili powder — you’ll get heat without the red pigment that defines the dish.
Do I really need a cast-iron skillet?
You need something that holds heat aggressively. Cast iron is the easiest option, but carbon steel or a heavy stainless-steel pan both work. Avoid non-stick — most non-stick coatings degrade above 500°F, and you need that heat to char the marinade without stewing the chicken.
Can I use ground spices instead of whole cardamom and cloves?
You can, but the sauce loses depth. Whole spices toasted in hot ghee release fat-soluble aromatics that pre-ground jars can’t match — ground spices have already lost 50–70% of their volatile oils. If whole spices aren’t an option, add an extra ½ teaspoon of garam masala at the very end to compensate.
Save this to Pinterest
Pin the recipe so you have it ready next time the takeaway craving hits.
📌 Save to Pinterest
Emma Delacourt
Recipe Developer & Founder, MeatRecipesBox
Emma has been developing and testing meat recipes since 2019. She focuses on temperature precision, food science, and making restaurant-quality results accessible for home cooks. Every recipe on this site is tested multiple times before publishing.




