In a separate bowl, mix together the ricotta cheese, beaten egg, 1/4 cup of the grated Parmesan cheese, and the chopped basil until well combined.
To create the white sauce, melt the butter in a medium saucepan over medium heat. Whisk in the flour, cooking for 1-2 minutes, until it’s lightly golden.
Gradually pour in the milk and heavy cream while whisking continuously to prevent lumps from forming. Cook until the sauce thickens, seasoning with salt and pepper to taste.
Start assembling the lasagna by spreading a thin layer of the white sauce at the bottom of the prepared baking dish.
Lay down 3 lasagna noodles on top, then layer with 1/3 of the ricotta mixture, followed by 1/3 of the spinach and mushroom mixture, and finally add 1/3 of the mozzarella cheese.
Repeat the layering process two more times, ending with a final layer of noodles. Pour the remaining white sauce over the top, and sprinkle with the remaining mozzarella and Parmesan cheese.
Cover the dish with foil and bake in the preheated oven for 25 minutes. Remove the foil and bake for an additional 15 minutes until the cheese is bubbly and golden-brown.
Once finished, let the lasagna rest for 10 minutes before slicing. Garnish with fresh basil for an added touch and serve it warm.