Prepare the chicken by cutting the breast into cubes or slicing the thighs and legs as needed. Marinate with salt, pepper, turmeric, cumin, ground coriander, cayenne pepper, garam masala, yogurt, and a bit of oil. Let it sit, ideally overnight.
Heat a pan and add oil. Slice red onions and add them to the pan with cardamom seeds. Cook until caramelized.
Add sliced ginger, chili, and garlic to the pan. Stir in butter and let it melt, then add cilantro stalks and more spices to toast them.
In a separate pan, cook the marinated chicken until it starts to brown. Add tomato sauce and bring to a boil, then stir in double cream.
Blend the sauce until smooth, then strain it back into the pan with the chicken. Add butter and lemon zest, stirring gently to combine.
Adjust seasoning with salt and pepper, garnish with cilantro leaves, and serve with rice or chapattis.