Preheat the oven to 200°C. Chop the butternut squash into small pieces. Place on a baking tray with some olive oil and salt and pepper and place in the oven for about 30 minutes or until it's soft enough to mash with a fork.
While the squash is cooking heat a tablespoon of oil over a medium heat and add the mushrooms. Cook for 5 minutes until they're soft then remove them from the pan and set aside. Add the spinach. Wait for another 5 minutes for the spinach to wilt and then tip into a bowl and mix with the ricotta and a little salt and pepper. Set aside.
In the same pan heat a little more olive oil with the butter. Add the onions and garlic and allow to soften for a few minutes. Tip in the flour and then whisk for a few minutes. Add the milk and bring to the boil, add the nutmeg, then allow to thicken. Once you've taken the butternut squash out of the oven, mash it with a fork. When the sauce has thickened add the mashed butternut squash and mix thoroughly. Turn the oven down to 180°C.
Now you're ready to assemble your lasagne! Spread a little of the butternut squash sauce at the bottom of your baking dish then add a layer of lasagne sheets followed by some spinach and ricotta, mushrooms, mozzarella, more sauce and lasagne sheets. Repeat the process until you've used up all the ingredients. I got three layers out of the ingredients. Make sure you leave enough sauce to cover the top of the lasagne then sprinkle on a final layer of mozzarella, the cheddar and parmesan. Put the lasagne in the oven and bake for 20 minutes then switch to grill and leave until the top is lovely and brown.