The original uses dairy twice: yogurt in the marinade and butter plus heavy cream in the sauce. This version replaces each according to its job rather than using one substitute everywhere: unsweetened dairy-free yogurt still clings to the chicken, neutral oil blooms the spices, and full-fat coconut milk rounds out the tomato sauce.
Stir the dairy-free yogurt, lemon juice, 1 tablespoon garam masala and 1 teaspoon salt together in a bowl. Add the chicken and turn to coat every piece. Leave it to marinate at room temperature for 20 minutes while you make the sauce.
Make the sauce
Heat the neutral oil in a large, deep skillet or Dutch oven over medium heat. Add the onion and 1/2 teaspoon salt and cook for 8 to 10 minutes, until soft and golden at the edges.
Add the garlic and ginger and cook for 1 minute. Stir in the remaining garam masala, cumin, paprika and turmeric and cook for 30 seconds, stirring constantly.
Pour in the crushed tomatoes and scrape up any browned bits. Bring to a gentle simmer, lower the heat and cook uncovered for 10 to 12 minutes, until the sauce leaves a trail when you drag a spoon through it.
Char the chicken
While the sauce simmers, heat the broiler with a rack about 6 inches below the element. Lift the chicken from the marinade, let the excess drip off, spread it on a foil-lined baking sheet and discard the leftover marinade. Broil for 8 to 10 minutes, turning once, until charred in spots.
Finish
Lower the sauce to a gentle simmer and stir in the coconut milk. Add the chicken and any juices from the baking sheet and simmer gently for 5 minutes, until the chicken reaches 165°F (74°C) in the thickest piece.
Taste and add more salt if needed. Loosen with a splash of water if the sauce is too thick. Serve over basmati rice and scatter with cilantro.
Cook notes
Use plain unsweetened dairy-free yogurt. Sweetened or flavored yogurt will change both the marinade and the sauce.
Full-fat coconut milk gives the sauce more body than a refrigerated drinking coconut milk.
Reheat gently; a hard boil can make a coconut-milk sauce look separated even when it still tastes fine.
Frequently asked questions
What replaces yogurt in dairy-free Chicken Tikka Masala?
Use a plain unsweetened dairy-free yogurt with enough body to cling to the chicken. Coconut- or soy-based yogurt both work better here than a thin plant milk.
What replaces heavy cream in dairy-free tikka masala?
Full-fat coconut milk supplies fat and body. Add it after the tomato sauce has reduced and keep the heat gentle.
Do I need dairy-free butter?
No. Neutral oil is enough for sautéing the onion and blooming the spices, so there is no reason to add a specialty butter substitute to this method.
This adapted version is RecipeFix-authored and editorially reviewed for internal consistency. It is not described as kitchen-tested. Nutrition is not shown unless it is calculated from the final recipe.