Preheat the oven to 400°F (200°C).
Toss the diced butternut squash with olive oil, salt, and pepper, then spread evenly on a baking sheet.
Roast the squash for 25-30 minutes or until tender and golden, stirring halfway through.
In a large pot, heat olive oil over medium heat and sauté the onion until translucent.
Add minced garlic and cook for another minute, until fragrant.
Stir in the orzo and cook for 1-2 minutes, allowing it to toast slightly.
Pour in the vegetable broth and bring to a gentle boil.
Reduce heat to low, cover, and simmer for 10-12 minutes or until the orzo is al dente.
Stir in heavy cream and Parmesan cheese until melted and combined.
Fold in the roasted butternut squash and chopped spinach until just combined.
Taste and adjust seasoning with salt and pepper as needed.
Serve warm, garnished with additional Parmesan if desired.