Heat olive oil in a large skillet over medium heat. Add onions and sauté until translucent, about 5 minutes. Add garlic and cook for another 30 seconds until fragrant. Increase heat to medium-high and add zucchini, eggplant, bell pepper, and mushrooms. Cook for 10-12 minutes, stirring occasionally, until vegetables have softened and released most of their moisture. Season with oregano, basil, red pepper flakes, salt, and pepper. Transfer to a bowl and set aside.
In the same skillet, heat olive oil over medium heat. Add garlic and cook until fragrant, about 30 seconds. Add crushed tomatoes, tomato paste, balsamic vinegar, sugar, and dried oregano. Simmer for 15-20 minutes until slightly thickened. Remove from heat and stir in fresh basil. Season with salt and pepper to taste.
In a medium bowl, combine ricotta cheese, wilted spinach (make sure to squeeze out excess moisture), egg, Parmesan cheese, parsley, nutmeg, salt, and pepper. Mix until well combined and set aside.
Preheat your oven to 375°F (190°C). Lightly grease a 9×13-inch baking dish with olive oil or cooking spray.
Spread about 1 cup of tomato sauce on the bottom of the prepared baking dish. Arrange a layer of lasagna noodles over the sauce, slightly overlapping if necessary. Spread one-third of the ricotta mixture over the noodles, followed by one-third of the vegetable filling. Sprinkle with about ¾ cup mozzarella. Repeat layers twice more. For the final layer, place lasagna noodles, spread remaining sauce, and top with remaining mozzarella and Parmesan cheese.
Cover the baking dish with aluminum foil, making sure it doesn't touch the cheese. Bake for 25 minutes, then remove the foil and bake for an additional 25 minutes until the cheese is bubbly and golden brown. Let stand for 15 minutes before serving to allow the lasagna to set.