Heat a skillet over medium-high heat. Saute mushrooms and onion until soft. Add tomato sauce, diced tomatoes, and Italian seasoning. Let simmer until sauce is thickened and flavors blend, at least 1 hour.
Bring a large pot of lightly salted water to a boil. Cook lasagna noodles in the boiling water, stirring occasionally until tender yet firm to the bite, about 8 minutes. Drain.
Preheat the oven to 350 degrees F (175 degrees C).
Squeeze as much water out of the spinach as possible.
Place soft tofu, firm tofu, almond milk, lemon juice, and garlic powder in a blender or food processor. Blend into a ricotta-like consistency. Transfer to a large bowl and stir in spinach.
Cover the bottom of a 9x13-inch baking pan with a thin layer of sauce, topped with a layer of lasagna noodles and 1/2 the tofu mixture. Repeat with remaining sauce, noodles, and tofu, ending with a layer of noodles and some sauce on top. Cover with aluminum foil.
Bake in the preheated oven until top of lasagna is hot and bubbly, 40 to 50 minutes.