Heat oil in a large stockpot over medium-high heat. Add onion and sauté for 5 minutes, stirring occasionally, until softened. Add garlic and sauté for 1-2 more minutes, stirring occasionally, until fragrant. Add the spices (curry powder, garam masala, cinnamon and ginger) and sauté for 1 more minute, stirring frequently, until fragrant.
Add in the vegetable stock and diced tomatoes, and stir to combine. Using an immersion blender, purée the soup until completely smooth. (Or alternately, you can carefully purée the soup in a traditional blender, and then transfer it back to the stockpot. See safety notes below.) PS-I did not puree.
Stir in the coconut milk and cauliflower until combined. Continue cooking until the soup reaches a simmer (try to avoid boiling the broth). Then reduce heat to medium-low and maintain the simmer until the cauliflower is tender.
Add chickpeas. Stir in the kale and cook for 2 more minutes, until the kale has softened. Give the curry a taste, and season with salt and pepper as needed.
Serve warm over rice or quinoa, garnished with lots of fresh cilantro