Whisk together the yogurt, lemon juice and zest, garam masala, turmeric and cumin then add the cubed chicken. Marinate 2-4 hours up to overnight.
In a deep pan or pot, add the oil over medium high heat.
Once the oil is hot add a few pieces of the chicken without overcrowding the pan searing on both sides then remove, continuing to sear the chicken in batches. NOTE: the chicken won’t be fully cooked through at this point.
Reduce the heat to medium/medium-low and add onion, cayenne, cinnamon stick and cumin cooking until the onions are tender, stirring frequently.
Grate in the garlic and ginger then fold in the remaining 1 teaspoon of garam masala and tomato paste and cook 1-2 minutes over low heat until you begin to smell the tomato paste.
Add the diced tomatoes and tomato sauce and once it’s combined, return the the chicken to the sauce, turning to coat it and cook for 5 minutes.
Fold in the heavy cream, butter and parsley, simmering for 8-10 minutes. Taste and adjust salt and pepper. Serve hot over rice or with naan or pita bread.