Preheat oven to 350 degrees.
In a medium pan, drizzle with olive oil. Over medium-low heat, saute onion, mushrooms, red pepper, and garlic for 5 minutes, careful not to burn the garlic. Add white wine and a pinch of salt and pepper and continue to saute until wine is reduced by half. Set aside to prep the lasagna.
In a medium mixing bowl, combine ricotta cheese, eggs, parsley, and Parmesan cheese. Set aside to prep lasagna.
In a small bowl, combine the mozzarella and provolone cheese together. Set aside.
Using a 9 x 13 inch lasagna pan/baking dish, spoon 1/4 of the can of crushed tomatoes in the bottom of the pan to evenly coat.
Layer with lasagna noodles, leaving at least 1/2 inch between the noodles to allow them to expand while cooking.
Top with a layer of sliced zucchini and squash, then the mushroom/pepper mixture.
Top with another 1/4 of the can of crushed tomatoes and 1/3 of the ricotta mixture. Spread evenly with wooden spoon or spatula.
Top with 1 cup shredded cheese.
Repeat layering process from noodles to cheese two more times.
For the top layer, add fresh spinach before you top with the sauce and shredded cheese.
Bake, covered, for 40 minutes.
Uncover and continue to bake for 20 minutes.
Remove from oven, top with the remaining cup of shredded mozzarella cheese.
Turn the oven to broil.
Broil for 5 minutes until the cheese is melted and golden.
Remove from oven and let sit for at least ten minutes before slicing and serving.
Top with freshly chopped basil.