Preheat the oven to 400°F (200°C). Toss the butternut squash with olive oil, sage, salt, and pepper. Spread on a baking sheet and roast for 25-30 minutes until tender. Allow to cool slightly, then transfer to a blender or food processor. Add the half and half and blend until smooth and creamy. Set the purée aside. (you may have to work in batches, depending on the size of your blender or food processor)
In a mixing bowl, combine ricotta, eggs, half of the Parmesan, garlic, spinach, salt, and pepper. Mix until smooth and well combined.
Lower oven temperature to 375°F (190°C). Lightly coat the bottom of a 9x13 inch baking dish with a thin layer of squash purée. Place a layer of lasagna noodles over the purée.
Spread half of the ricotta mixture evenly over the noodles. Add a layer of the squash purée on top, then sprinkle on a ¼ cup of the shredded mozzarella cheese.
Add another layer of noodles, spread the remaining ricotta mixture, and top with more squash purée and another ¼ cup of mozzarella cheese.
Place the final layer of noodles on top, cover with the remaining squash purée, and sprinkle with the remaining parmesan and shredded mozzarella cheese.
Cover the dish with foil and bake for 25 minutes. Remove the foil and bake for an additional 15 minutes until the cheese is bubbling and golden brown.
Allow the lasagna to rest for 10 minutes before slicing to help the layers set. Serve warm and enjoy!