Finely chop the onion and garlic.
Heat the oil over medium heat in large heavy-based pot. Add the onion and gently sauté, until for 5 minutes. Add the garlic and ginger and stir-fry 1 minute. Add the spices and stir for 30 seconds. Add the tomato paste and stir for 1 minute.
Add the stock, coconut milk, cinnamon stick, salt & pepper and bring to a boil. Reduce the heat to low and simmer for 10 minutes.
Meanwhile, peel and cut the sweet potatoes into 2 cm cubes. Coarsely chop the tomatoes and carrots.
Add the sweet potatoes, tomatoes and carrots to the curry. Bring to a boil, then simmer for 25 minutes or until the vegetables are tender. Discard the cinnamon stick.
Stir in the chickpeas, your chosen greens and cook for 3- 5 more minutes.
Serve with lime juice and chopped coriander leaves.