Made this a couple of times recently for a big crowd that included a few vegetarians. It turned out to be more popular than the non-vegetarian option. .

1 3 pound butternut squash, peeled, seeded, and cut into 1/2-inch cubes
2 tablespoons olive oil
6 ounces dried Penne pasta
3 tablespoons butter
3/4 cup finely chopped onion (1 large)
2 cloves garlic, minced
3 tablespoons all-purpose flour
2 1/2 cups milk
1 teaspoon nutmeg
2 cups shredded Fontina cheese (8 ounces)
1/2 cup grated Parmigiano-Reggiano cheese (2 ounce)
2 5 ounce packages fresh baby spinach, coarsely chopped
2 tablespoons finely snipped fresh sage
1/2 teaspoon salt
1/4 teaspoon ground black pepper
1/4 cup pine nuts
1. Preheat the oven to 425 degrees F. In a shallow roasting pan combine squash and olive oil; toss to coat. Roast about 25 minutes or until tender, stirring once. Remove squash from oven; reduce oven temperature to 350 degrees F.
2. Meanwhile, cook pasta according to package directions; drain. Set aside. In a 6-quart Dutch oven melt the butter over medium heat. Add the onion and garlic; cook about 5 minutes or until onion is tender but not browned, stirring occasionally. Stir in the flour; cook and stir for 1 minute more. Add the milk all at once. Cook and stir until thickened and bubbly. Stir in cheeses until melted. Stir in spinach until wilted. Stir in sage, salt, and pepper. Gently stir in cooked pasta and squash until combined. Transfer pasta mixture to a 3-quart baking dish. Cover with foil.
3. Bake for 20 minutes. Remove foil and top with pine nuts. Bake, uncovered, for 10 to 15 minutes more or until heated through.