In a bowl, toss cubed chicken with 1 tbsp yogurt, a pinch of salt, and ½ tbsp garam masala. Let sit for 30 minutes (or up to 2 hours in the fridge).
Heat oil in a skillet over medium heat. Cook chopped onion for 5 minutes until soft. Add garlic and ginger; cook 1 more minute.
Add coriander, cumin, turmeric, cinnamon, chili powder, and remaining garam masala. Stir for 2 minutes to release their aroma.
Add marinated chicken to the skillet. Stir to coat and cook 5–7 minutes, browning the pieces.
Pour in crushed tomatoes. Simmer for 10 minutes until slightly thickened and chicken is nearly cooked.
Stir in 3 tbsp yogurt and heavy cream. Season with salt and pepper. Simmer 5–7 minutes until sauce is creamy and chicken is cooked through.
Turn off heat. Add lemon juice and top with chopped cilantro.
Serve hot over basmati rice with naan or papadums on the side.