Melt butter in a large saucepan using medium heat. Add onion and garlic, cook until soft, stirring occasionally. Add ginger, carrot and potato. Cook for about 5 minutes, add broth, salt and pepper. Bring to a boil, reduce heat and cover. Simmer until vegetables are soft, about 20 minutes. Transfer to a blender and puree. Add milk and continue to puree until very smooth. Return to saucepan and reheat on low heat.