Heat a large heavy-bottomed pot with the olive oil over medium heat. Add the onions and let them cook for about 5 minutes, stirring frequently. Next, add the garlic and ginger and sauté for another minute.
Add the sweet potatoes, carrots, broth, and coriander (if using), cover the pot and bring everything to a boil. Reduce the heat to medium-low and simmer the soup for another 5 to 7 minutes, until the sweet potatoes are fork tender.
Turn off the heat, remove the lid and add the chopped cauliflower florets to the pot. Let the soup sit for about 10 minutes.
Transfer everything to a high-speed blender and blend until smooth. You may need to do this in batches.
Return the soup to the pot. Season with salt to taste (I added about 1 teaspoon of kosher salt). Add 1/8 teaspoon of cayenne pepper if you want a hint of spice. I like eating the soup at about this temperature. If you want it hotter, warm the soup at medium heat for a few minutes.
Serve the soup in bowls and top with coconut milk, sliced scallions, and red pepper flakes, if you desire.