Saute the onions, garlic, and leek in the olive oil for 7 minutes over medium heat, or until the onions begin to brown. Add the carrot, celery heart and the squash; saute for 5 minutes. Pour in the broth, bring to a boil, and cook over medium heat for 45 minutes. Add the salt and pepper.
Remove 2 cups of the broth from the pot; bring to a boil in another saucepan; reduce to 1 cup. Pour the reduced broth back into the soup and puree in a blender. Garnish with the Parmigiano and basil.