In a large pot or Dutch oven over medium-high heat, add butter, onions and garlic. Cook and stir for 5 minutes.
Add chicken broth, pumpkin, curry, cayenne and cumin. Reduce heat and simmer for an additional 15 minutes. If you have used fresh pumpkin, you will need to cook it until it is soft, when poked with a toothpick. You will also need to puree the soup in a blender or with a stick blender.
Add the milk and stir.
Serve in pre-heated bowls.
Garnish with sour cream, basil leaves and cayenne if desired.