Prepare the squash: Preheat your oven to 425°F. Toss the butternut squash cubes with 2 tablespoons olive oil, salt, and pepper on a large baking sheet. Roast for 25-30 minutes until tender and edges begin to caramelize, stirring halfway through. Remove from oven and reduce temperature to 375°F.
Make the squash filling: Heat remaining tablespoon of olive oil in a large sauté pan over medium heat. Add onion and cook until translucent, about 5 minutes. Add garlic and chopped sage, cooking for another minute until fragrant. Transfer this mixture to a food processor or blender.
Blend the sauce: Add roasted squash and nutmeg to the food processor. Pulse until smooth, adding a splash of cream if needed to achieve a thick but spreadable consistency. Taste and adjust seasoning with salt and pepper.
Prepare the cheese mixture: In a medium bowl, combine ricotta, 1 cup of the heavy cream, beaten eggs, 1 cup of mozzarella, and ½ cup of Parmesan. Stir until well incorporated.
Begin assembly: Spread about ½ cup of the squash mixture on the bottom of a 9×13 inch baking dish. Arrange 3 lasagna noodles on top, slightly overlapping if necessary.
Create the layers: Spread one-third of the remaining squash mixture over the noodles, then one-third of the cheese mixture. Repeat these layers twice more, ending with the cheese mixture on top.
Add final cheese layer: Sprinkle the remaining 1 cup of mozzarella and ½ cup of Parmesan over the top layer.
Bake covered: Cover the baking dish with aluminum foil (spray the inside with cooking spray to prevent sticking to cheese). Bake at 375°F for 40 minutes.
Finish baking: Remove foil and bake for an additional 15 minutes until the top is golden and bubbly. While lasagna finishes, prepare the sage garnish.
Make crispy sage: Melt butter in a small pan over medium heat. Add whole sage leaves and fry for 30-60 seconds until crisp but not burned. Transfer to a paper towel to drain.
Rest before serving: Let lasagna rest for 15 minutes before cutting. Garnish with crispy sage leaves and serve warm.