Sauté onions and garlic in olive oil until soft. Add mushrooms and cook until browned. Season with thyme, oregano, salt, and pepper. Add white wine if using, then grape tomatoes. Set aside.
Melt butter in a saucepan, whisk in flour, cook until golden. Gradually add milk, whisking until thickened. Season with nutmeg, salt, and pepper.
Cook lasagna noodles until al dente. Layer in a baking dish: béchamel, noodles, mushroom mixture, spinach, béchamel, cheeses. Repeat. Finish with noodles, béchamel, and cheese.
Cover with foil, bake at 375°F for 25 minutes. Remove foil, bake 20 more minutes until golden and bubbly. Let rest 10 minutes before serving.