In a large pot, melt the butter over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes.
Add the chopped carrots to the pot and cook for another 5 minutes, stirring occasionally.
Pour in the vegetable broth, bring to a boil, then reduce the heat, cover, and let simmer for 20 minutes or until the carrots are tender.
Once the carrots are tender, use an immersion blender to puree the soup until smooth. Alternatively, transfer the soup in batches to a blender and blend until smooth.
Stir in the heavy cream, if using, and season with salt and black pepper to taste. Serve hot.