
Prep the chicken. Cut the tenders in half and slice the breasts into small, bite-size cubes. Smaller pieces cook faster. If using thighs, cut each into about four pieces. Leave legs whole.
Marinate. Place the chicken in a bowl and season with the salt, black pepper, turmeric, cumin, coriander, cayenne, and garam masala. Stir in the yogurt and a drizzle of oil until the chicken is evenly coated. Set aside. For the best flavor and color, cover and refrigerate overnight.
Start the sauce base. Heat a large pan over high heat until very hot. Add a generous amount of grapeseed oil, then add the sliced red onions. Rough slicing is fine since the sauce gets blended later.
Add the aromatics. Add the crushed cardamom pods and cloves. Spread the onions up the sides of the pan to help them caramelize faster. Add the ginger, chili, and garlic, and cook until fragrant.
Build richness. Once the onions begin to soften and break down, add 1 tbsp of the butter and turn up the heat. Add the cilantro stalks, saving the leaves for garnish.
Toast the spices. Lightly dust the onions with the garam masala, turmeric, cumin, and cayenne. Stir to toast the spices, then add the remaining 1 tbsp butter. Cook until the onions melt into a soft, sweet, caramelized paste.
Cook the chicken. Heat a second pan over high heat. Add the chicken along with all of its marinade. Press the pieces down and let them brown on all sides. For more char, you can grill the chicken separately instead.
Add the tomato sauce and cream. Pour the tomato sauce into the onion mixture and bring it to a boil. Stir in the cream and bring it back to a boil. Taste, then adjust with salt and a squeeze of lemon juice. Reduce the heat under the chicken to low while you finish the sauce.
Blend the sauce. Carefully transfer the sauce to a blender. Start on low speed with a hand firmly on the lid, since hot liquids can push the lid off. Blend for about 30 seconds until completely smooth.
Strain (optional). For an extra-silky texture, press the sauce through a fine-mesh sieve with the back of a ladle. This removes any bits of cardamom, cloves, or ginger fiber.
Combine. Pour the sauce over the chicken and scrape in all the browned bits from both pans. Stir to combine.
Finish. Keep the heat on low. Stir in the finishing butter and the lemon zest. Do not let the curry boil once the butter goes in, or the sauce may separate. Season with salt and pepper, then sprinkle with chopped cilantro leaves.
Serve. Serve hot with steamed rice and warm chapatis.
4 servings