Prepare pasta according to package directions; drain and cover with cool water until ready to use.
While pasta is cooking, combine onions and oil in a skillet over medium heat until golden, about 5 minutes. Add the garlic and cook about 1 minute. Spoon out half the onions and reserve for later. Add the mushrooms (if using) to the onions in the skillet. Cook, stirring over medium heat, until the mushrooms are tender and slightly browned, about 7 minutes. Add the parsley and a pinch of salt; transfer to a bowl.
Add the reserved cooked onion and the spinach to the skillet. Cover and cook over medium heat until the spinach is wilted, about 3 minutes. Uncover and cook over medium heat to evaporate any excess moisture, about 1 minute. Season with a pinch of salt.
Heat oven to 350° F. Drain the lasagna and pat dry with paper towels. Mix the oregano and basil with the tomato sauce. Spread 1 cup tomato sauce in the bottom of a 13 x 9 x 3-inch pan. Arrange 3 lasagna pieces, slightly overlapping, in the pan. Spoon the spinach mixture on top in an even layer. Spread with half of the ricotta. Sprinkle with 1/4 cup of the shredded mozzarella cheese.
Arrange a layer of 3 more lasagna pieces. Spread with the mushrooms, the remaining ricotta mixture, and 1/4 cup of the mozzarella. Top with the remaining 3 pieces of lasagna, 1 cup of tomato sauce and 1/2 cup of the mozzarella cheese. Sprinkle with Parmesan cheese. Bake until brown and bubbly, about 45 minutes.