Put a large pot over medium heat and add the olive oil.
Throw the onions and garlic into the pot, stirring as they cook, just until the onions start to become soft.
Add the carrots, then grate some ginger over the pot as the vegetables are heating up, then stir.
Once the mixture starts to become fragrant (you'll smell that ginger as it heats up), add a few pinches of salt and pepper and pour in enough stock to almost cover the vegetables (it should be between 4 and 5 cups of stock).
Let this cook over medium-low heat until you can poke a fork in one of the carrot pieces and it falls apart.
Remove from the heat and puree the soup while it's hot using an immersion blender. If you'd rather use a regular blender, you'll have to first let the soup cool a little bit before pureeing. then puree in batches.
Once the soup is almost pureed and you can't see very many chunks, add the can of coconut milk (or milk/cream of your choice).
Use the immersion blender again to blend the coconut milk into the soup. (This helps the texture to become very velvety.) If you used a regular blender, simply stir in the coconut milk. Add more salt and pepper, to your taste.
Ladle the soup into bowls and serve with a dollop of sour cream, Greek yogurt, coconut yogurt, or a swirl of cream (or coconut cream). Add a sprinkle of chopped parsley, if you wish.