Preheat the oven to 350 degrees F.
In a 10-inch cast-iron or other oven-safe skillet, melt butter over medium heat. Add butternut squash cubes and sprinkle with a pinch of kosher salt and 8-10 cranks of freshly ground black pepper. Cook, stirring occasionally, for about 5 minutes.
Add red onion and garlic, and cook 3-4 minutes more. Test with a fork; when the squash is tender enough to be easily pierced, remove skillet from the heat. Using a spatula, spread the mixture into an even layer across the bottom of the skillet.
While the squash cooks, crack eggs into a large bowl and whisk. Add Parmesan, sage, cream, another pinch of kosher salt, and 6-8 cranks of black pepper. Whisk until well-combined.
Pour the egg mixture evenly over the butternut, and gently swirl the pan to ensure it is evenly distributed.
Place skillet in the oven and bake for 18-20 minutes, until eggs are set and the frittata begins to very slightly pull away from the edges of the pan. It may puff up in places; this is normal and will go back down as it cools.
Allow the frittata to cool briefly, then slice into pieces and serve. Garnish with additional sage leaves, more black pepper, and shaved Parmesan if desired.