Pour a big splash of olive oil into a pot and heat on a medium heat. Once hot, add the onions and fry for a few minutes until just translucent. Add the garlic and ginger and fry for a couple more minutes.
Add the spices and chilli (if using) and stir into the onion mixture.
Pour in the chickpeas and stir until covered by the onion-spice mixture. Fry for a few more minutes.
Pour in the puréed tomatoes and coconut milk and stir to combine. Season with salt and pepper – and sugar (if you want to add a touch of sweetness).
Cook on a medium-low heat until some of the liquid has evaporated and a thick sauce has developed. The longer you let it cook, the richer and more delicious it becomes.
Do a final taste and adjust the seasoning accordingly. Serve with rice, a chopped tomato, onion and coriander salad, poppadoms and rotis.