In a large pot or Dutch oven, heat the olive oil over medium heat.
Add the chopped onion and sauté for about 5 minutes, or until translucent.
Stir in the minced garlic and cook for an additional 1 minute.
Add the chopped carrots and cubed sweet potatoes to the pot. Stir well to combine.
Pour in the vegetable broth, and add the ground cumin, ground ginger, ground cinnamon, salt, and pepper.
Bring the mixture to a boil, then reduce the heat to low and let it simmer for about 20 minutes, or until the vegetables are tender.
Once the vegetables are cooked, use an immersion blender to puree the soup until smooth. If you don’t have an immersion blender, carefully transfer the soup in batches to a regular blender.
If desired, stir in coconut milk for added creaminess, and adjust seasoning as needed.
Serve hot, garnished with fresh herbs if desired.