This is the most comforting vegetable lasagna with bechamel. It’s a creamy spinach and mushroom lasagna, with an easy homemade garlic Parmesan bechamel sauce and a rich spinach and ricotta layer. This is one recipe where you definitely won’t miss the meat!

You can enjoy this anytime, but this is especially great for a comforting family dinner- I especially like it in cooler weather, when you just want to indulge in something that’ll warm you up from the inside out.
This was inspired by my Lasagna bolognese with bechamel– it’s the perfect bechamel sauce, and I figured I wanted to do an option without a tomato meat sauce. Thus, this vegetarian bechamel lasagna was born! For another great recipe using my bechamel sauce, check out this classic Egyptian macarona bechamel.
Jump to:
Ingredients:

- Ricotta Cheese: A classic pairing, you’ll mix this ricotta cheese with the spinach to create one of the filling layers.
- Frozen Spinach: I find it a lot easier than having to wash, chop and prep fresh spinach. You just need to thaw it, and then really squeeze the water out, over a colander, then pat even drier with paper towels.
- Parmesan Cheese: There’s Parmesan cheese in the spinach ricotta filling. I always add a little grated Parmesan cheese to my bechamel, it gives it such a delicious enriched flavor. I also reserve Parmesan cheese to sprinkle on top of the mozzarella cheese before the final bake, just for a little extra cheesiness. Get the freshly grated stuff, not the powder.
- Mozzarella Cheese: for layering in between the lasagna and for the final topping layer.
- Salt, pepper, dried basil, dried oregano, and nutmeg: You only need very simple spices and seasonings in this dish. You could substitute Italian seasoning for the dried basil and oregano.
- Olive oil: For sauteing the mushrooms with.
- Garlic: We use this both in cooking the mushrooms and in the bechamel sauce.
- Onion: This adds a lot of flavor when cooking the mushrooms
- Mushrooms: I used brown button mushrooms, you can also use white button mushrooms or any mushrooms of your choice, or a mix!
- Whole Milk: You want the full fat milk in this bechamel. It’ll also thicken faster if the milk isn’t cold, so keep it at room temperature before using.
- Heavy Cream: Also known as whipping cream, this adds a lot of richness to the bechamel.
- Lasagna Noodles: I go for the no boil kind, but since you aren’t making this lasagna with a traditional tomato meat sauce, you need to soak the noodles in hot water before starting the recipe to make sure that they soften enough in the oven.
See recipe card for quantities.
Instructions:

- Step 1: Add the spinach, ricotta, Parmesan cheese, salt and pepper to a bowl.

- Step 2: Stir to combine until the filling is smooth.

- Step 3: Saute the onions and garlic in olive oil, then add in the sliced mushrooms.

- Step 4: Cook the mushrooms until all the liquid evaporates.

- Step 5: In a large saucepan melt the butter with the flour and whisk until golden brown.

- Step 6: Add the milk, cream, garlic, salt, pepper, and nutmeg and keep whisking until thickened.

- Step 7: Off the heat, stir in the Parmesan cheese and taste for seasoning.

- Step 8: Add the bechamel sauce to the cooked mushrooms.

- Step 9: Stir to combine the mushrooms and bechamel.

- Step 10: Start layering with a little bechamel spread on the bottom, then the lasagna noodles.

- Step 11: Add 1/2 of the spinach ricotta filling.

- Step 12: Spread to evenly cover the lasagna noodles.

- Step 13: Add 1/3 of the mushroom bechamel sauce.

- Step 14: Spread to evenly cover the spinach filling.

- Step 15: Repeat layers, ending with a sprinkle of mozzarella cheese.

- Step 16: Bake until golden brown and bubbly.
Hint: Broil the lasagna for the last couple of minutes to get those gorgeous golden brown bubbles
The perfect bechamel sauce
Make sure the milk and cream are at room temperature, or even warm them slightly in the microwave so that the sauce thickens quicker. Keep whisking so you don’t burn the bottom of the bechamel. Once it’s a thick soup like consistency, like a gravy, you are set. The bechamel will thicken further as it cools. Taste for seasoning and add salt if needed!
How to serve vegetable lasagna with bechamel sauce:
Let the lasagna rest for 15-20 minutes so it’s not too saucy and soupy, then serve hot. Try this with a leafy green salad that will help cut the richness like this fattouche.
Variations:
- Vegetables – You can add any cooked veggies you want to this lasagna. Try chopped broccoli florets, peas, roasted zucchini, eggplant, anything you have on hand! You can substitute the mushrooms for those veggies or just add a little alongside the mushrooms.
- Protein – Alternately, if you aren’t committed to this bechamel lasagna being vegetarian, then you can add in some shredded cooked chicken alongside the mushrooms in the bechamel sauce- it’ll be delicious.
See the classic version of lasagna on my website, It’s one of my all time most popular recipes!
Storing leftovers:
Leftover vegetable lasagna with bechamel can be stored tightly covered for 2-3 days. It also freezes really well, in an airtight container for up to 3 months. I would freeze individual slices so you can have a meal for one ready whenever you need it. You also can of course, freeze the whole lasagna. Thaw overnight in the fridge before reheating in a hot oven or microwave.
Make ahead instructions:
You can prepare the entire lasagna the day before serving, then store in the fridge tightly covered in plastic wrap or foil. The next day, take it out of the fridge and let it come to room temperature as you preheat the oven and bake as directed!
Expert tips and tricks:

- Really squeeze out the water from the thawed frozen spinach. I do this by first pressing it down over a colander in the sink, then pressing down with absorbent paper towels. I keep squeezing until no more liquid comes out. The reason for this, is if we leave too much water in the spinach it could lead to a watery spinach filling.
- Similarly, saute the mushrooms well. They are a watery vegetable, so by really browning and caramelizing, you’ll get rid of the extra liquid which enhances the flavor and would cause bechamel to become too liquidy once added.
- Whisk the bechamel well. You don’t want to stop whisking and risk burning the base of the sauce. It’ll thicken up really well but be patient- once it gets to a gravy like consistency, you can take it off the stove and it’ll thicken further as it cools a bit.
- Taste each layer for seasoning! You may have to add more salt to the bechamel, and you really benefit from seasoning the mushrooms and the spinach ricotta filling.
Top Tip
Soak the lasagna noodles in hot water, by layering in a single layer in a couple of large 9×13 or roasting pans. This way, you guarantee them cooking through until al dente in the oven once layered with all the creamy spinach lasagna ingredients.
Recipe FAQs:

Since the ricotta filling is not cooked, you’d have to cook the fresh spinach before adding it to the ricotta filling. I don’t feel the time pay off is worth it, so stick to frozen spinach in this recipe.
Yes, you can assemble the whole thing the day before, cover it tightly and pop it in the fridge. Take it out of the fridge to come to room temperature while you preheat the oven, and cook as directed.
The top will be golden brown and the lasagna will be bubbling around the edges. I like to broil for the last couple of minutes in the oven to really get that golden brown top.
If you liked this recipe, you might like:
Looking for other recipes like this? Try these:
Pairing
These are my favorite dishes to serve with this creamy spinach lasagna:
Love this recipe? Please leave a 5-star 🌟🌟🌟🌟🌟rating in the recipe card and a comment!
Stay in touch with me through social media @ Instagram, Pinterest, and Facebook. Don’t forget to tag me when you try one of my recipes!

Vegetable Lasagna with Bechamel
Ingredients
For the spinach ricotta filling:
- 2 cups ricotta cheese
- 1 pack frozen spinach, thawed and with all the excess water squeezed out. 15oz, 400g
- 1/2 cup freshly grated Parmesan cheese
- 1/2 teaspoon salt
- pinch black pepper
For the mushrooms:
- 2 tablespoon olive oil
- 1 small onion, finely diced
- 2 garlic cloves, minced
- 2 packs brown mushrooms, cleaned and sliced 16 oz total, 500g
For the bechamel:
- 1/4 cup butter 56g
- 1/4 cup all purpose flour 30g
- 2 cups whole milk, at room temperature
- 1 cup heavy cream (whipping cream) at room temperature
- 2 garlic cloves, minced
- 1 teaspoon salt
- 1 teaspoon dried basil
- 1/2 teaspoon dried oregano
- pinch black pepper
- pinch nutmeg, optional
- 1/4 cup freshly grated Parmesan cheese
To assemble:
- 2 cups shredded mozzarella cheese
- about 1/2 pack no boil lasagna noodles 12-14 noodles
Instructions
- Star by soaking the lasagna noodles in hot water. Lay them out in a couple large pans then pour hot water on them, in a single layer so they don't stick to each other. Do this for about 20 minutes or until you're done with the rest of the recipe components.
- Preheat the oven to 350F (180C).
For the spinach ricotta filling:
- In a mixing bowl, add the the ricotta cheese, thawed spinach, Parmesan cheese, salt, and pepper. Mix well to combine thoroughly, then place the bowl in the fridge until ready to use.
For the mushrooms:
- Add the olive oil to a deep skillet over medium high heat. Add the onions, and saute for 5-6 minutes or until softened. Add the garlic, and cook for another minute, then add in all the sliced mushrooms.
- Cook, stirring frequently, until mushrooms have softened and the liquid in the pan has evaporated, about 7-10 minutes. Remove from the heat and set aside.
For the bechamel:
- In a medium saucepan over medium heat, melt the butter with the flour. Whisk until the mixture becomes golden brown (About 3 minutes).
- Pour the milk and cream over the butter/flour mixture, whisking constantly. Add garlic, salt, dried basil, dried oregano, pepper, and nutmeg. Reduce the heat to a medium low, simmer and whisk constantly until mixture has thickened, 8-10 min.
- Once béchamel sauce has thickened, turn off the heat and stir in Parmesan cheese.
- Add bechamel sauce to the saucepan with the cooked mushrooms, and stir well to combine.
To Assemble:
- On the base of a 9×13 inch pan, spread a small amount of the mushroom bechamel sauce to prevent the lasagna noodles from sticking to the base of the pan.
- Add one layer of the softened lasagna noodles to the base of the pan, covering the base with noodles. Add 1/2 of the spinach ricotta mixture and spread out to cover the noodles. Add 1/3 of the bechamel sauce over the top the spinach ricotta mixture and smooth out. Add a handful of shredded mozzarella cheese.
- Repeat with another layer of lasagna noodles,the remaining half of the spinach ricotta mixture, 1/3 of the bechamel mushroom sauce, and another handful of mozzarella cheese.
- Top with a final layer of lasagna noodles, the last third of the bechamel sauce, and a generous sprinkle of mozzarella cheese and Parmesan cheese.
- Bake for 35 minutes, until bubbling and browning, then turn the oven to broil and broil for a few minutes to get a deeper golden brown color. Remove the pan from the oven and let it sit for 15-20 minutes before serving.
Video
Notes
- Really squeeze out the water from the thawed frozen spinach. I do this by first pressing it down over a colander in the sink, then pressing down with absorbent paper towels. I keep squeezing until no more liquid comes out.
- Similarly, saute the mushrooms well, until the liquid evaporates.
- Whisk the bechamel well. You don’t want to stop whisking and risk burning the base of the sauce. It’ll thicken up really well but be patient- once it gets to a gravy like consistency, you can take it off the stove.









Leave a Reply