Place the sweet potatoes in a vegetable steamer and cook for about 15 minutes.
While the sweet potatoes are cooking, heat the canola oil in a large pan over medium heat.
Add the chopped onions to the pan and sauté for 2-3 minutes, or until they start to soften.
Mix in the curry powder, cumin, and cinnamon, stirring to evenly coat the onions with the spices.
Add the diced tomatoes with their juices and the chickpeas to the pan. Stir everything together.
Pour in ½ cup of water and increase the heat to bring the mixture to a strong simmer. Continue for 1-2 minutes.
Gradually add the spinach, a few handfuls at a time, stirring each addition until the spinach is coated with the cooking liquid.
Once all the spinach has been added, cover the pan and let it simmer until the spinach is just wilted, about 3 minutes.
Add the cooked sweet potatoes to the pan, stirring to mix them with the other ingredients. Let it simmer for another 3-5 minutes, or until the flavors have melded together.
Transfer the mixture to a serving dish, sprinkle with chopped fresh cilantro, and serve hot. This dish pairs well with basmati or brown rice.