This easy vegetable lasagna is packed with zucchini, mushrooms, spinach, ricotta, and plenty of melty cheese-plus a simple no-boil method that makes it easier to assemble and keeps every slice hearty, saucy, and satisfying.

Want to save this recipe?
Enter your email below and get it sent straight to your inbox. Plus, I'll send you easy and delicious recipes every week!
This easy vegetable lasagna layers mushrooms, zucchini, spinach, creamy ricotta, mozzarella, Parmesan, and homemade tomato sauce for a hearty meatless dinner.
The two details that make the biggest difference are cooking the vegetables until their excess moisture evaporates-so you don't end up with watery lasagna-and letting it rest before slicing. I also use regular lasagna noodles but soften them in hot water instead of boiling them, which saves an extra pot and makes assembly much easier.
For more satisfying vegetarian pasta dinners, try my vegetable pasta bake, pasta bake with spinach, or easy ricotta ravioli.
Jump to:
⭐️ Why You'll Love This Vegetable Lasagna
- No boiling noodles: Regular lasagna noodles soften in hot water for 10 minutes before assembly.
- Loaded with vegetables: Mushrooms, zucchini, spinach, and onion add plenty of flavor and texture.
- Rich and cheesy: Whole-milk ricotta, mozzarella, and Parmesan create creamy layers without overwhelming the vegetables.
- Make-ahead friendly: Assemble it ahead or freeze individual portions for later.
🍅 Ingredient Notes

- Lasagna noodles: Use regular dried lasagna noodles, not oven-ready noodles. Soaking them in hot water softens them enough to finish cooking in the oven.
- Mushrooms and zucchini: Both contain a lot of water, so cook them until most of their released liquid has evaporated. This is important for preventing watery lasagna.
- Spinach: Fresh spinach wilts directly into the vegetable mixture. If using frozen spinach, thaw it and squeeze it very dry first.
- Ricotta: Whole-milk ricotta gives the filling the creamiest texture.
- Mozzarella: Use low-moisture mozzarella so it melts well without adding excess water.
- Tomato paste: Cooking the tomato paste for several minutes concentrates its flavor before the crushed tomatoes are added.

🔪 How to Make Vegetable Lasagna
*See recipe card below for printable instructions
Cook the vegetables. Sauté the onion, mushrooms, and zucchini until softened and most of the released moisture has cooked off. Add spinach and cook just until wilted.

Make the tomato sauce. Cook the garlic, herbs, and tomato paste, then add crushed tomatoes and simmer briefly.


Soften the noodles. Cover the regular lasagna noodles with hot tap water and let them sit for 10 minutes.


Layer the lasagna. Alternate noodles with ricotta, vegetables, mozzarella-Parmesan, and tomato sauce.

Bake. Cover and bake for 30 minutes, then uncover and bake until bubbling and golden.
Let it rest. Wait 45 minutes before slicing so the layers can set.

👩🏼🍳 Expert Tips for Lasagna Success
- Cook off the vegetable moisture. Mushrooms, zucchini, and spinach can all make vegetable lasagna watery if they're added before enough liquid has evaporated.
- Use low-moisture mozzarella. Fresh mozzarella releases significantly more liquid as it bakes.
- Cover the noodles completely. Sauce and cheese help the noodles finish cooking in the oven; exposed edges can become dry.
- Don't skip the resting time. A long rest lets the sauce and cheese settle so you get clean slices instead of a runny pile of layers.
- Protect the cheese. Spray the underside of the foil lightly with cooking spray before covering the pan so melted mozzarella doesn't stick.
📝 Variations & Substitutions
- Vegetables: Use about 5 cups total. Eggplant, bell peppers, kale, Swiss chard, or leeks are good alternatives; just cook watery vegetables before layering.
- Cottage cheese: Substitute it for ricotta if preferred.
- Marinara: Replace the homemade tomato sauce with about 4 cups of your favorite marinara.
- Gluten-free: Use gluten-free lasagna noodles and follow the package directions for pre-cooking or soaking.
- Jarred marinara sauce: Substitute the homemade tomato sauce with jarred sauce (you'll need about 4 cups). Or, as an alternative, make my San Marzano tomato sauce or cherry tomato sauce!
Make Ahead, Storage, & Freezing
Make ahead: Assemble the veggie lasagna up to 1 day in advance, cover, and refrigerate. Let it sit at room temperature for about 30 minutes before baking or allow a little extra baking time if it's going into the oven cold.
Store: Cover leftovers and refrigerate for up to 5 days.
Reheat: Cover and warm in a 375°F oven until heated through.
Freeze: Wrap individual cooled slices tightly and freeze for up to 3 months. Thaw overnight in the refrigerator before reheating.
🍝 More Vegetarian Pasta Recipes
Tried this recipe? Please leave a star ⭐️⭐️⭐️⭐️⭐️ rating below and/or a review in the comments section further down the page. You can also stay in touch with me through social media by following me on Instagram, Pinterest, TikTok, and Facebook.
Subscribe to my email newsletter to get a FREE e-book of 15 Healthy Weeknight Recipes, and get new recipes delivered to your inbox every week!

Vegetable Lasagna Recipe
Ingredients
- 4 Tablespoons extra-virgin olive oil, divided
- 1 yellow onion, diced
- 8 ounces cremini (or button) mushrooms, diced
- 1 medium zucchini, diced
- 5 ounces baby spinach, roughly chopped
- 1 ½ teaspoons salt, divided
- ¼ teaspoon black pepper
- 4 garlic cloves, minced
- 1 teaspoon dried oregano
- 1 teaspoon dried basil
- pinch of red pepper flakes (optional)
- 1 (6-ounce can) tomato paste
- 1 (28-ounce can) crushed tomatoes
- 1 pound shredded low-moisture mozzarella
- 1 cup grated Parmesan cheese
- 1 pound (2 cups) whole milk ricotta
- 1 pound dried lasagna noodles (not no-boil type)
- fresh parsley (optional garnish)
Instructions
Make vegetable filling:
- In a large skillet, heat 2 tablespoons of the olive oil over medium-high heat. Add onion and cook until translucent, around 5 to 7 minutes. Add mushrooms and zucchini and cook for 5 minutes, until most of the liquid has cooked off.
- Add the spinach, ½ teaspoon of salt, and black pepper, and cook until lightly wilted, around 2 to 3 minutes. Transfer to a large bowl and set aside.
Make the tomato sauce:
- Using the same pan, heat the remaining 2 tablespoons of olive oil. Add garlic, oregano, basil, and red pepper flakes (if using), and cook for 1 minute, until garlic is fragrant.
- Add tomato paste (save the can) and cook for around 3 minutes. Add 2 tomato paste cans of water (or 1 ¼ cups) and stir until combined. Add crushed tomatoes, 1 teaspoon of salt, and let it simmer for 5 minutes.
Assemble lasagna:
- Heat oven to 400 degrees F. Place lasagna noodles in a large baking dish and cover with hot tap water. Let the noodles soak for 10 minutes.
- In a medium bowl, combine mozzarella and Parmesan cheese.
- Coat a 9"x13" baking dish (at least 2.5 inches deep) with non-stick cooking spray. Pour ⅓ cup of tomato sauce into the prepared dish and spread it evenly across the bottom.
- Gently shake water off noodles and arrange the first layer of noodles, slightly overlapping the noodle edges.
- Add ¼ of the ricotta over noodles and spread it evenly using a rubber spatula. Add ¼ of the vegetable filling and spread it on top of ricotta. Sprinkle about ⅕ of the mozzarella-Parmesan mixture on top of vegetables, then add about 1 cup of tomato sauce and spread it evenly over the cheese.
- Assemble your next layer of noodles on top. Repeat the same process (¼ of ricotta, ¼ of the vegetables, ⅕ of the mozzarella-Parmesan, 1 cup of sauce) three times, using up everything but the mozzarella-Parmesan mixture and around ⅓ cup of the tomato sauce.
- Place the last layer of noodles on top, spread the last of the sauce on top, and sprinkle the remaining mozzarella-Parmesan cheese mixture on top.
Bake lasagna:
- Cover a large baking sheet with foil and place baking dish on top of it. Lightly coat a piece of foil with non-stick cooking spray and tightly cover baking dish, sprayed side down. Bake with the foil on for 30 minutes. Remove foil and bake for another 20-30 minutes, until lasagna is golden and bubbly on top.
- Wait 45 minutes (it's worth the wait and you don't want a watery mess!), then garnish with fresh parsley (if using), slice and serve.
Video
Notes
- Storage: Cover and store in refrigerator for up to 5 days.
- Recipe adapted from Smitten Kitchen.










Lisa says
Awesome lasagna recipe!! Totally worth the effort and now we have several pieces in the freezer ready to go. Thank you!
MaryAnne says
So happy that you loved it, Lisa! It's one of my favorite recipes on my site, and I've got several pieces in my freezer, too! 😊
Jamie says
This vegetarian lasagna was so delicious and flavorful! I love all the vegetables used in here too.
MaryAnne says
Thanks, Jamie! Yes, it's definitely loaded with veggies!
Tayler says
I made this lasagna for dinner last night and it was fantastic! Definitely going on our regular rotation!
MaryAnne says
So happy to hear that, Tayler! It's definitely worth the effort, and it always freezes really well, too. 😀
Tavo says
I loved this lasagna! I made it yesterday and it was delicious! I love that it was full of veggies!
MaryAnne says
Fantastic, Tavo! Thanks for leaving a review!
Sara Welch says
This was everything a gourmet meal should be, and then some! Turned out perfectly hearty and delicious; the perfect comfort food, indeed!
MaryAnne says
Thanks so much, Sara! I agree that it's the perfect comfort food! 😀
Kathleen says
Oh my, this lasagna looks marvelous! Love how easy it comes together and that it is packed with such great flavors.
MaryAnne says
Thanks, Kathleen!
Barb says
I made this for last night’s dinner. It has tasty vegetables, is filling, and have leftovers for the freezer. Loved it!
MaryAnne says
So glad you loved it! I know it takes time to make, but it's totally worth it in the end. And it freezes beautifully!
Sara says
Everyone loved it at my holiday potluck!!
MaryAnne says
Yay!!