Preheat oven to 350°F. Place the squash, apples, carrots, potatoes, sweet potato, celery, and half of the onion in a large casserole dish. Season with salt and pepper, dot with ¼ cup butter, cover with foil, and bake for 40 minutes. Remove foil and bake 10 more minutes, until vegetables are tender.
While the vegetables roast, heat olive oil in a large pot over medium heat. Add the remaining onion and cook until soft. Stir in garlic and cook for 30 seconds, just until fragrant.
Add the roasted vegetables, vegetable stock, and remaining butter to the pot. Blend with an immersion blender until smooth and creamy.
Simmer the soup for 10 minutes, stirring occasionally. Stir in the milk and cook for another 5 minutes.
Ladle 1 cup of hot soup into a bowl and whisk in the yogurt until smooth. Return it to the pot and stir well. Season with additional salt and pepper to taste.
Serve warm, topped with crumbled bacon and fresh parsley if desired.
Notes
To keep the yogurt from curdling, always temper it with hot soup before adding it back to the pot.
For a vegetarian version, simply skip the bacon garnish.
This soup tastes even better the next day and reheats beautifully.