In a large pot, heat the olive oil over medium heat. Add the diced onion and sauté until translucent, about 5 minutes.
Add the minced garlic, ground cumin, and ground coriander to the pot, stirring for about 1 minute until fragrant.
Add the diced sweet potatoes and cauliflower florets to the pot, mixing well to combine.
Pour in the vegetable broth and bring the mixture to a boil. Once boiling, reduce to a simmer and cover. Cook for about 20 minutes, or until the sweet potatoes and cauliflower are tender.
Remove the pot from heat. If using a blender, carefully transfer the soup in batches to the blender or use an immersion blender directly in the pot to blend until smooth.
Stir in the coconut milk and season with salt and pepper to taste. Place the pot back on low heat for 5 minutes to warm through.
Serve hot, garnished with fresh parsley or cilantro if desired.