For the chicken and marinade: Sprinkle the chicken pieces with salt and pepper. Combine the yogurt with the paprika, coriander, cumin, cayenne, lemon zest, cinnamon, garlic and ginger in a mixing bowl. Mix together well then pour into a resealable plastic bag. Add chicken pieces and shake around to coat all the pieces evenly. Place in the refrigerator and marinate for 1 hour.
Heat a grill to high. Wipe down the grates with an oil-blotted paper towel to create a nonstick surface. Remove the chicken from the marinade and wipe off any excess. Grill the chicken pieces until well-marked, 3 to 4 minutes per side. Remove to a plate and set aside.
For the sauce: Set a Dutch oven over medium heat. (Alternatively, you can cook in a pressure cooker. Simply cut the cooking time in half and cook over medium heat with medium pressure.) Coat with the oil and add the butter. Add the garlic and onions. Cook until translucent and fragrant, 3 to 4 minutes. Add the tomato paste, paprika and garam masala. Cook for 2 to 3 minutes to toast the spices and cook the tomato paste. Add the crushed tomatoes, vinegar and grilled chicken pieces. Stir well and simmer until the chicken is tender, 25 to 30 minutes. Finish the sauce with the heavy cream. Season with salt and pepper. Garnish with the cilantro.
Wine paring for meal: dry Riesling or sparkling wine