In a container with lid, place the uncooked chicken cubes, lemon juice, 1 tsp of the paprika and 1/2 tsp of the salt. Stir it up, cover and refrigerate for 20-30 minutes. This is your first marinade.
Meanwhile, get your second marinade started. Mix your Greek yogurt with the turmeric, olive oil, curry leaf, half the garam masala, half the garlic and half the ginger. Once you're finished marinating the chicken in the lemon mixture, stir the yogurt mixture into the chicken and let marinate at least 12 hours and up to 2 days.
When you're almost ready to start cooking the chicken, make a puree out of the tomatoes and cashews. We use a bullet-style blender for this, as it gets it nice and smooth. You'll want it as smooth as possible.
To cook the chicken, heat a small amount of oil in a pan on medium-high heat and add the chicken and marinade. Cook until the liquid evaporates and the chicken is just cooked (not pink inside, but also not overcooked, so that it doesn't get too tough). Remove the chicken and thickened marinade from the pan and set aside.
Melt the butter in the pan and add the whole cinnamon, cardamom and clove to toast the spices for about 1 minute, until fragrant. Add the remaining garlic, remaining ginger and chili flakes and fry for another minute or two until fragrant.
Add the tomato puree to the pan, along with 1/2 tsp salt to start with (add more if you like it fairly salty) and the sugar. Cook until the sauce becomes thick enough that when you draw the spoon across the bottom of the pan, it leaves a trail for a moment before the pan is covered up again with the sauce.
Add 1-2 cups water, depending on how thick you like your curry, and the remaining garam masala. Simmer for about 5 minutes and then add the chicken and marinade. Simmer the chicken gently for about 5 minutes to heat through and infuse the flavours.
Remove the pan from the heat and cool 1-2 minutes before stirring in the cream. (If it's too hot, it might curdle.)
Serve hot over cooked basmati rice with a side salad. For an extra treat, you can have some naan bread on the side!