Combine yogurt, lemon juice, red chilli, turmeric, and garam masala. Marinate chicken for at least 1 hour.
Heat 2 tbsp oil, cook marinated chicken until lightly charred, 5–7 minutes per side. Remove and set aside.
In same pan, add remaining oil and fry onions 6–8 minutes until golden.
Add ginger and garlic, cook 2 minutes until fragrant.
Stir in tomato puree, coriander, cumin, paprika, and salt. Cook 8–10 minutes until sauce thickens.
Add cooked chicken, coat in sauce, simmer 10 minutes on low heat.
Stir in cream and cook 2–3 minutes until smooth. Garnish with coriander.