Melt the butter in a medium saucepan, then add the onions and cook over low heat until translucent. Add the carrots and shredded ginger, cover, and cook over medium-low heat for 20 minutes, stirring occasionally.
In a separate saucepan, bring the chicken stock to a simmer, then add it to the carrot mixture and boil gently over medium heat for another 15 minutes or until the carrots are fork tender.
Remove the soup from the heat and add the milk. Allow the soup to cool for a few minutes before pouring it into a food processor or blender.
Pour the soup back into the pot, stir in the cream, and add the salt and pepper to taste. Reheat the soup gently, but don't let it come to a boil. When the soup is warm, ladle it into bowls and serve.