Preheat oven to 350º. Bring a large pot of salted boiling water to a boil and cook lasagna noodles until al dente. Drain.
Wrap tofu in a clean kitchen cloth or paper towels and place on a large plate. Place a pan or heavy plate on top of tofu in order to press out as much liquid as possible. Let sit for at least 30 minutes. When drained, crumble with two forks and season with salt and pepper. Set aside.
In a large skillet over medium heat, heat oil. Add onion and garlic and season with salt, pepper, and 1 tsp oregano. Add mushrooms and cook until softened, 3 to 4 minutes. Stir in thawed and drained spinach until completely combined. Remove from heat and set aside vegetables.
Wipe out skillet and return to medium heat to make white sauce: Add olive oil and heat until shimmering but not smoking. Add flour and whisk to combine. Cook until lightly golden and nutty, 1 to 2 minutes. Whisk in nut milk until smooth. Stir in nutritional yeast and garlic powder and season with salt and pepper. Bring to a simmer and let cook until thickened, 8 to 10 minutes.
Build lasagna: In a large baking dish, spoon 1/4 c marinara into an even layer, then add a layer of noodles. Top with an even layer of vegetable mixture, tofu, marinara, and white sauce. Repeat until all ingredients are used, ending in marinara. Add a single layer of tomato rounds and season with salt, pepper and remaining oregano.
Bake 35 to 40 minutes, until tomatoes are cooked and lasagna is heated through. Remove from oven and let cool slightly. Garnish with basil and serve.