Preheat the oven to 375°F. Cook the lasagna noodles in a large pot of salted water until al dente, then drain and set aside.
Toss the cubed butternut squash with 1 tablespoon olive oil, salt, and pepper. Spread on a baking sheet and roast for 20 minutes until soft.
Heat the remaining tablespoon of olive oil in a skillet over medium heat. Add the diced onion and minced garlic, then cook until the onion softens. Stir in the spinach and dried sage until the spinach wilts. Remove from heat.
In a bowl, mix the ricotta cheese with half the Parmesan, salt, and pepper. Stir in the heavy cream until smooth.
Spread a thin layer of the ricotta mixture in the bottom of a 9x9 baking dish. Add three noodles, then layer with half the roasted squash, half the spinach mixture, and one-third of the mozzarella. Repeat the layers once more.
Top with the final three noodles, the remaining ricotta mixture, and the rest of the mozzarella and Parmesan. Cover with foil and bake for 25 minutes. Remove the foil and bake 10 more minutes until the top browns lightly. Let it rest 10 minutes before slicing.