Heat the olive oil in a large pot or Dutch oven over medium heat. Add the onion and carrots and cook for 5 minutes, until softened.
Add the cumin, curry powder, cinnamon, and garlic and let the flavors cook for another minute, until fragrant.
Add the red lentils, diced tomatoes with their juices, and broth. Stir well.
Cover and let simmer for 20 minutes, until the lentils are tender.
Blend with an immersion blender for a creamier soup, or leave it as is for more texture.
Stir in the coconut milk and spinach until the spinach is wilted. Serve warm.