Step 1Bring a large pot of water to the boil to blanch the spinach.
Step 2Meanwhile, heat a large skillet heated over medium-high heat until hot, then add the olive oil and the onion. Cook the onion, stirring frequently, until the onion starts to soften, 3 to 5 minutes. Increase the heat to high, stir in the mushrooms and continue cooking, stirring occasionally, until any of the liquid released from the mushrooms has evaporated, 8 to 10 minutes.
Step 3While the mushrooms are cooking, blanch the spinach: Add the spinach, in batches, to the boiling water and cook until the spinach softens and turns a bright green, 30 seconds to 1 minute. Transfer the spinach in a large bowl of ice water to stop the cooking. Repeat until all the spinach is blanched. Drain the spinach, and wrap it in a large kitchen towel, squeezing the towel to drain the spinach of any excess moisture.
Step 4When the liquid from the mushrooms has evaporated, add the white wine, stirring to scrape any flavoring from the bottom of the pan. Add the garlic and artichokes, stirring until completely combined. Taste the mixture, and add three-fourths teaspoon salt and one-half teaspoon pepper, or season as desired. Stir in the spinach, then taste and season again if needed. Remove from heat and set aside.
Step 5Make the tomato-bechamel sauce: In a medium, heavy-bottom saucepan, melt the butter over medium-high heat. When the butter is foamy, whisk in the flour. Slowly whisk in the milk and cook over medium heat, whisking frequently, until the mixture begins to thicken and take on a sauce-like consistency, 10 to 12 minutes. Slowly stir in the Parmesan cheese, and when the cheese is melted, stir in the tomatoes. Taste the sauce, adding three-fourths teaspoon salt and one-fourth teaspoon pepper, along with a pinch of nutmeg, or season as desired.
Step 6Heat the oven to 350 degrees and assemble the lasagna: On the bottom of a 13- by 9-inch baking dish, ladle about 1 cup of the tomato-bechamel sauce. Cover the sauce with a single layer of lasagna noodles. Sprinkle one-fourth of the vegetable mixture over the noodles, then ladle over another cup of the sauce. Top the sauce with one-fourth of the grated mozzarella. Repeat with the noodles, vegetables, sauce and mozzarella until you have 4 layers (if you have more than one cup of sauce left when assembling the fourth layer, go ahead and pour all the remaining sauce with that layer before sprinkling over the last of the mozzarella cheese). The dish can be assembled up to this point, covered with plastic wrap and refrigerated up to a day before baking; remove the plastic wrap and leave the lasagna out at room temperature while heating the oven before continuing with the next step.
Step 7Cover the baking dish with foil and place the dish on a rimmed baking sheet to catch any drippings. Bake the lasagna for 45 minutes. Increase the temperature to 450 degrees, remove the foil from the lasagna and continue baking until the top is lightly browned, 8 to 12 minutes. Remove and cool slightly on a rack for 20 minutes before serving.