Put the olive oil and onion in a large saucepan and cook over medium heat for 7-8 minutes, or until softened. Stir in the garlic, the cayenne pepper, and the spices and cook gently for 2 minutes or until fragrant. Add the tomatoes and sugar and season, to taste. Cover and simmer for 20 minutes.
Meanwhile, drain the chickpeas and put them in a large bowl with enough cold water to cover well. Lift up handfuls of chickpeas and rub them between your hands to loosen the skins. Run more water into the bowl, stir well and let the skins float to the top, then skim them off. Repeat until all skins have been removed.
Drain the chickpeas again and stir them into the tomato mixture. Cover and simmer for 20-25 minutes, adding a little more water if necessary. Stir through the parsley and coriander and season to taste.
Serve with crusty bread or with couscous.
*Option to use dried chickpeas. Use 1 cup, soaked overnight in cold water, drained and cooked with water to cover for 1-1 1/2 hours. If preferred, do not skin the chickpeas.