To make the tofu ricotta: In a food processor with a standard blade attachment, process together the drained tofu, lemon juice, and 1 tablespoon olive oil until smooth. Add remaining tofu ricotta ingredients and process until smooth. This can also be done by hand using a potato masher or fork.
To make the white sauce: Heat a large skillet over medium heat. Once hot, add olive oil and all-purpose flour. Sauté for 1-2 minutes, stirring frequently, until the flour is golden. Whisk in ¼ cup soy milk to form a thick paste.
Slowly whisk in remaining soy milk. Bring to a rapid simmer over medium-high heat, then reduce to a low simmer. Sprinkle in nutritional yeast, salt, and pepper. Simmer, stirring occasionally, until thickened enough to coat the back of a spoon. Remove from heat and set aside.
To make the veggies: Heat a skillet over medium heat. Add olive oil. Once hot, add mushrooms, shallots, and salt. Cook 6-8 minutes, or until mushrooms are softened. Add the fresh spinach, stirring until wilted. Remove from heat and set aside.
Assemble the lasagna: Spread ½ cup white sauce on the bottom of an 8x11-inch or similarly sized casserole dish. Add 3 no-boil lasagna noodles, or as many as needed to cover the dish. Top with ¼ cup white sauce. Make sure the noodles are fully coated in sauce.
Spread ½ cup tofu ricotta across the noodles. Top with half of the veggies. Top with ⅓ cup pesto.
Add 3 noodles. Add ¼ cup white sauce, spreading to thoroughly coat. Add ½ cup tofu ricotta and remaining vegetables. Top with ⅓ cup pesto.
Top with 3 noodles. Add remaining white sauce to thoroughly coat the noodles. Top with 1 cup vegan mozzarella.
Cover tightly with foil and bake at 375F for 20 minutes on the middle oven rack. Remove the foil and bake for another 15 minutes. The lasagna is ready when bubbling and hot throughout. Let rest at least 10 minutes before slicing. Serve garnished with additional pesto, tofu ricotta, and fresh basil.
Video
Notes
Lasagna noodles: I use Trader Joe's brand no-boil lasagna noodles. If using another brand, add as many lasagna noodles as needed to fully cover the baking dish.
Pesto: You are most likely to find vegan pesto at a health foods store. I have a version of homemade vegan pesto that is made by blending together 2 cups basil, 2 cups spinach, ¼ cup olive oil, juice from one lemon, 2 tablespoons nutritional yeast, 3 cloves garlic, ½ teaspoon salt. You can also omit spinach and use 4 cups basil total.
Lasagna size: I make this lasagna in an 8x11-inch glass baking dish. It should also work in a 9x9-inch or similarly sized dish.
Leftovers are best kept refrigerated in a closed container for 3-4 days.
Reheat individual servings in the microwave in 1-2 minutes. Reheat the entire lasagna in the oven at 350F. Cover with foil and cook for 20-25 minutes, or until heated through.