Heat 2 tablespoons of oil in a large pan over medium heat.
Add onion, chili, ginger, and garlic to the pan; sauté for 2–3 minutes until softened.
Stir in chili powder, turmeric, garam masala, and sugar; cook for 1–2 minutes to toast the spices.
Add tomato puree and tinned tomatoes; stir and let cook for a few minutes until slightly thickened.
Transfer the sauce to a blender or food processor; blend until completely smooth.
Add 1 tablespoon of fresh oil to the same pan; fry the chicken pieces until lightly browned.
Pour the blended sauce back into the pan; add curry leaves and simmer for 10 minutes, or until the chicken is cooked through.
Stir in yogurt and half of the chopped coriander; garnish with the remaining coriander before serving.