Melt butter in a large pot over medium heat. Add onion, and sauté 5 minutes. Add garlic, salt, cinnamon, nutmeg, and pepper, and sauté 3 minutes.
Add pumpkin and broth, stirring to combine, and bring to a boil over medium-high heat. Reduce heat to low, and simmer for 20 minutes.
Stir in milk and maple syrup, and puree with an immersion blender until smooth.
If you don’t have an immersion blender, let the soup cool for 10 minutes, transfer to a blender, and process until smooth. Return soup to pot, and cook until hot. Substitute vegetable broth in place of chicken stock for a vegetarian version.