In a large pot, melt the butter over medium heat.
Add the chopped onion and cook, stirring occasionally until softened and starting to turn golden.
Stir in the carrots and continue to cook until starting to turn golden around the edges.
Add the garlic and ginger and cook until just fragrant, 30 seconds to 1 minute.
Stir in the curry powder to completely coat the vegetables, followed by the salt, coriander, cinnamon, and black pepper.
Pour in the broth and bring to a boil. Cover and reduce heat to medium low. Simmer until the carrots are completely tender, about 20-30 minutes.
If the mixture thickens too much, add a little more broth or water.
Adjust seasonings to taste, then remove from heat.
Use an immersion blender to puree the soup until smooth. You can also carefully transfer it to a stand blender to puree until smooth.
Stir in the heavy cream, followed by the apple cider vinegar.
Serve the soup immediately drizzled with additional heavy cream and desired toppings.