Place sweet potatoes into a large pot and cover with water. Bring to the boil over high heat, then reduce heat to medium-low, cover, and simmer until just tender, about 15 minutes. Drain and allow to steam dry for a minute or two.
Meanwhile, heat oil in a large pan over medium heat. Stir in the onion and garlic; cook and stir until the onion has softened, about 5 minutes. Season with cumin, curry powder, garam masala, turmeric, ginger and salt; cook for 2 minutes. Add the tomatoes, chickpeas, spinach and cooked sweet potatoes. Pour in the coconut milk and simmer for 5 to 10 minutes before serving.