Melt butter in a Dutch oven; add onion, and saute until tender. Add potato, carrot, squash, and next 3 ingredients; cover, reduce heat, and simmer, stirring occasionally, 1 hour.
Process vegetable mixture in batches in a blender or food processor until smooth, stopping to scrape down sides; return mixture to Dutch oven. Stir in milk, and bring to a boil. Reduce heat, and cook, stirring often, just until soup is thoroughly heated. Garnish, if desired.