Sauté onions and garlic in olive oil until transparent.
Puree tomatoes and add to onion and garlic.
Add mushroom and black olives, oregano, basil, wine, black pepper, salt and simmer for 20 minutes. Set aside.
Combine spinach, egg , black pepper, and ricotta cheese, process briefly until the mixture is uniform and set aside.
Note: when creating each layer, make sure you use just enough of each to barely cover the previous layer. Too much on any layer can make the lasagna come out too "juicy".
Grease a 9" X 13" baking pan with olive oil then pour about 1/3 of the tomato mixture on the bottom.
Cover the tomato mixture with a layer of lasagna noodles (cooked or uncooked).
Spread 1/3 of the spinach/cheese mixture over the noodles.
Repeat with tomato mixture, noodles and cheese ending with a layer of noodles (cooked or uncooked) on top.
Pour the remainder of the tomato mixture on top of the noodles.
Sprinkle with the parmesan cheese.
NOTE: If uncooked noodles are used, cover tightly with foil and bake at 375° for 1 hour.
Remove pan from oven and let sit covered for an additional 15 minutes. Uncover lasagna, lay foil loosely on top of pan and let sit for about 10 minutes before serving.
NOTE: If cooked noodles are used, prepare noodles according to package before assembling ingredients, arrange cooked noodles according to directions for creating layers, then bake uncovered at 375° for 1 hour. Remove pan from oven, lay foil loosely on top of pan and let sit for about 15 minutes before serving.