Heat the oil in a large soup pot or dutch oven set over medium heat. Add the onions, ginger, curry powder, and turmeric and cook, stirring frequently, until the onion is tender, 10-15 minutes. Add the garlic and cook for 1 minute until fragrant.
Add the carrots, salt, and stock. Bring to a boil over high heat, then reduce the heat to medium and simmer, partially covered, until the vegetables are very tender, 25-30 minutes. Remove from the heat and add most of the coconut milk, reserving ¼ cup for garnish.
Cool the soup slightly, then puree smooth with an immersion blender (or in batches in a blender or food processor). Add more salt if needed.
Heat the soup gently, stirring, until it is steaming but not bubbling so as not to curdle the coconut milk. Serve bowls with your toppings of choice.
The soup keeps beautifully for up to 4 days, its bright color kept in tact and flavors developing over a day or two in the fridge.
