Preheat your oven to 400°F (200°C). In a bowl, toss the diced butternut squash with olive oil, garlic powder, smoked paprika (if using), salt, and black pepper. Spread the seasoned squash on a baking sheet in a single layer. Roast for 25-30 minutes, or until the squash is tender and lightly caramelized, stirring halfway through for even cooking.
While the squash is roasting, heat 1 tablespoon of olive oil in a large skillet over medium heat. Add the diced onion and sauté until translucent, about 3-4 minutes. Stir in the minced garlic and cook for an additional 1 minute until fragrant.
Add the orzo pasta to the skillet, stirring to coat it with the oil and aromatics. Toast the orzo for 1-2 minutes to enhance its flavor. Pour in the broth and bring the mixture to a boil. Reduce the heat to a simmer and cook, stirring occasionally, until the orzo is al dente and has absorbed most of the liquid, about 8-10 minutes.
Stir in the heavy cream, allowing the mixture to simmer for 2-3 minutes until it thickens slightly. Add the fresh spinach, stirring until it wilts. Incorporate the roasted butternut squash and grated Parmesan cheese, gently folding them into the creamy orzo. Season with additional salt and black pepper to taste.
Remove the skillet from heat and let the dish sit for a couple of minutes to allow the flavors to meld. Garnish with chopped fresh parsley before serving.