Peel and finely chop the onion and cut the tomatoes into little bits. Peel and finely chop the garlic and ginger or purée using a hand blender. Pour the oil into a large pan set over a high heat.
When the oil is hot, add the pinch of sugar. This will caramelise and give the curry a lovely red glow later without the need for food colouring. As the sugar caramelises, stir in the onion and fry for 5 minutes until it starts to brown. Next add the ginger and garlic and stir for a further 5 minutes until the mixture turns golden. Now mix in the tomatoes along with the chilli and turmeric.
Fry this masala mixture for at least 5 minutes until the pungent smell gives away to something more subtle. Then lower the heat and simmer, stirring regularly, until you can see oil reappearing through little pores on the surface. This will take 5 minutes or so and you may need to add a bit of hot water to release the spices from the bottom of the pan.
Next, stir in the yoghurt and the chicken pieces. Turn the heat back up high and stir vigorously to seal the chicken on all sides, mixing it well with the other ingredients. When the chicken starts turning white all over, lower the heat to medium, add half a mug of hot water to the pan, cover with a lid and cook for 30 minutes.
Remove the lid and cook uncovered for a further 10 minutes to thicken the curry, then stir in the garam masala. Finish by adding salt to taste and serve with lots of chopped fresh coriander sprinkled on top.