Preheat your oven to 400°F (200°C). Spread cubed butternut squash on a baking sheet, drizzling with olive oil, and toss to coat evenly. Roast for about 25-30 minutes until tender and caramelized around the edges.
While the squash roasts, pour the vegetable broth into a saucepan and gently warm it over low heat. Keep it simmering so it's ready for gradual addition.
Finely chop the onion and mince the garlic, preparing to build the base of the risotto.
In a large heavy-bottomed saucepan, melt the butter over medium heat. Add the chopped onion and cook, stirring often, until translucent and fragrant, about 3-4 minutes.
Add the minced garlic to the pan and cook for another 30 seconds until it releases a warm aroma.
Stir in the rinsed arborio rice, allowing it to toast slightly and become translucent around the edges, about 2 minutes.
Pour in a ladle of warm broth, stirring continuously until the liquid is mostly absorbed, encouraging a creamy texture to form.
Continue adding the broth in small ladles, stirring steadily and waiting for each addition to be absorbed before adding more, for about 20 minutes or until the rice is tender and creamy.
Gently fold in the roasted butternut squash pieces and chopped spinach, stirring until the spinach wilts beautifully into the mixture and everything is heated through.
Remove the risotto from heat, then stir in grated Parmesan cheese. Season with salt and pepper to taste, adjusting as needed.
Serve immediately, garnished with additional Parmesan if desired. The risotto should be creamy, with tender rice, caramelized squash, and vibrant green spinach, ready to enjoy hot.