Combine the chicken with the yogurt, lemon juice, garlic, ginger, garam masala, cumin, paprika, and salt in a bowl. Cover and refrigerate for at least 30 minutes, or up to overnight.
Heat a large skillet over medium-high heat with a drizzle of oil. Cook the marinated chicken in batches for 4-5 minutes per side until charred at the edges and cooked through. Set aside.
In the same pan, melt the butter over medium heat. Add the onion and cook for 5-6 minutes until softened and golden. Stir in the garlic and ginger and cook for 1 minute.
Add the garam masala, cumin, paprika, and cayenne, stirring for 30 seconds until fragrant.
Pour in the crushed tomatoes and simmer for 12-15 minutes, stirring occasionally, until thickened and deep red.
Stir in the heavy cream and return the chicken (with any juices) to the pan. Simmer for 5 minutes until the chicken is warmed through and the sauce is creamy. Season with salt to taste.
Garnish with cilantro and serve over basmati rice.
Kept Recipes turns anything — a screenshot, a webpage, a craving — into a clean cookbook page like this one. No ads, no accounts, yours to keep.
Get the app