Spinach and ricotta lasagna is a classic Italian baked pasta dish, made with delicate layers of fresh pasta, a creamy spinach and ricotta filling, and a smooth béchamel sauce that binds everything together.
This traditional vegetarian lasagna is rich yet light, with a perfectly balanced flavor and an irresistibly creamy texture. Unlike meat-based lasagna, this version highlights the freshness of spinach and the mild sweetness of ricotta, making it a refined and comforting Italian recipe.

While it is especially popular in spring, when fresh spinach is in season, you can prepare it year-round using frozen spinach with excellent results.
The combination of spinach and ricotta is a cornerstone of Italian cuisine and appears in many traditional dishes such as ravioli di magro, spinach and ricotta cannelloni, and Torta Pasqualina, the famous Italian Easter pie.
If you are looking for an authentic Italian spinach lasagna recipe with béchamel sauce, this step-by-step guide will show you how to prepare it perfectly at home.
Jump to:
Ingredients

Prep Time: 20 Min | Cook Time: 45 Min | Servings: 6-8
Doses for a 13x9-inch (33x23 cm) baking dish
FOR THE FILLING
- 500 g (1.1 pound) fresh or frozen spinach
- 500 g (1.1 pound) ricotta
- 200 g (2 cups) grated Parmigiano Reggiano
- Freshly grated nutmeg, to taste
- Salt, to taste
- Black pepper, to taste
FOR THE LASAGNA LAYERS
- About 12 lasagna sheets
You can prepare fresh homemade pasta using our step-by-step Homemade Pasta recipe, or use authentic Italian flat lasagna, oven ready (no cooking or boiling necessary), made with durum wheat by Tuscanini.
FOR THE BECHAMEL SAUCE
- 500 ml (about 2 cups) whole milk
- 50 g (1.8 oz) unsalted butter
- 50 g (1.8 oz) all-purpose flour or Italian “00” flour
- ¼ teaspoon salt
- Freshly grated nutmeg, to taste
How to Make Spinach and Ricotta Lasagna
Make the Bechamel Sauce

Step 1) - In a saucepan, melt the butter over low heat. Add the flour with the help of a flour sieve: in this way you are sure that there are no lumps. Mix quickly with a whisk, until the mixture is smooth.
The mixture of butter and flour is called roux and it should be a nice golden color.

Step 2) - Heat the milk, without bringing to a boil. Pour the milk slowly over the roux, while stirring with a whisk. Season with salt and grated nutmeg to taste.
Cook for about 10-15 minutes, mixing constantly, until you have a fairly thick consistency. The sauce is ready when it sticks to the back of a wooden spoon. Set aside.
For more information and tips, read how to make Italian bechamel sauce.
Make the Filling

Step 1) - Bring a pot of lightly salted water to a boil. Add the fresh spinach and cook for a few minutes until they become tender. If you are using frozen spinach, wait for the water to start boiling, then cook for about 5 minutes.

Step 2) - Drain the spinach well and let them cool slightly. Once they are cool enough to handle, squeeze them with your hands to remove as much excess water as possible. Then, finely chop them using a hand immersion blender or a sharp knife.

Step 3) - Transfer the chopped spinach to a large bowl. Add the ricotta cheese, half of the grated Parmigiano cheese, a pinch of fine salt, some freshly ground black pepper, and a dash of nutmeg to taste. Mix everything together until you get a smooth and creamy filling.
Your spinach and ricotta filling is now ready! Next, it's time to assemble your spinach lasagna.
Make the Layers

Step 4) - Spread two or three tablespoons of béchamel sauce on the bottom of a baking dish. Then, place the first layer of lasagna sheets on top and evenly spread a portion of the spinach and ricotta filling over them.

Step 5) - Pour a few spoonfuls of béchamel sauce over the filling, then sprinkle with some grated Parmigiano cheese. Continue layering as described above, until all the ingredients are used.
For the final layer, generously sprinkle Parmigiano cheese on top. This will create a delicious golden and crispy crust when baked.

Step 6) - Bake in a preheated oven at 180°C (350°F) for about 30 minutes, or until the top turns golden and slightly crispy. Let spinach lasagna cool for 10 minutes before serving.

Storage
You can store cooked spinach and ricotta lasagna in the fridge for up to two days.
If you want to prepare it in advance, assemble the lasagna up to two days ahead, keep it raw in the fridge, then bake when ready to serve.
Spinach lasagna can also be frozen, either raw or cooked. It will last about one month in an airtight container.
Tips for Perfect Spinach and Ricotta Lasagna
How to prevent watery spinach lasagna: The most common problem with spinach and ricotta lasagna is excess moisture. Make sure both the ricotta and the spinach are well drained before assembling the dish. If the ricotta is too soft, place it in a colander for about 1–2 hours to remove excess liquid. This simple step helps you achieve clean, compact slices.
Choose the right ricotta: Both cow’s milk ricotta and sheep’s milk ricotta work well in this recipe. Cow’s milk ricotta has a milder, creamier flavor, while sheep’s milk ricotta is richer and slightly more pronounced. For a more delicate lasagna, choose cow’s ricotta. For a stronger, more traditional flavor, sheep’s ricotta is an excellent option.
How to use frozen spinach properly: You can use either fresh or frozen spinach. Fresh spinach has a brighter flavor but requires more cleaning and cooking time. Frozen spinach is very convenient: boil it in salted water for about 5 minutes after the water returns to a boil, then drain and squeeze it thoroughly to remove as much liquid as possible. Properly squeezing the spinach is essential for a creamy, well-balanced lasagna.
Variations
Spinach and ricotta lasagna has a delicate and balanced flavor, but you can easily customize it to suit your taste.
With Tomato Sauce: For a richer and more colorful version, add a layer of tomato sauce between the pasta sheets. You can combine tomato sauce and béchamel for a creamier result, or replace the béchamel entirely with tomato sauce for a lighter vegetarian lasagna.
With Mozzarella: For a more indulgent and stretchy texture, add slices of mozzarella between the layers. This variation makes the lasagna creamier and more comforting, perfect for family dinners.
Without Béchamel Sauce: If you prefer a lighter version, you can skip the béchamel and increase the ricotta slightly. The result will be less creamy but still flavorful and satisfying.
Crispy Topping: For a golden and slightly crunchy crust, sprinkle extra grated Parmigiano Reggiano or a thin layer of breadcrumbs over the top before baking.
More Traditional Italian Lasagna Recipes
- Lasagne alla Norma – A Sicilian lasagna made with eggplant, tomato sauce, and ricotta salata.
- Lasagne alla Ligure – A delicate green lasagna layered with pesto, green bean and potatoes.
- Classic Lasagna alla Bolognese – The iconic Italian meat lasagna with ragù and béchamel.
- Vegetable Lasagna – A lighter vegetarian lasagna packed with seasonal vegetables.
FAQ
Yes. Traditional Italian spinach and ricotta lasagna is made with béchamel sauce, which is a classic white sauce prepared with butter, flour, and milk. The béchamel adds creaminess and helps bind the layers together, creating a rich and balanced texture.
The most common reason is excess moisture in the ricotta or spinach. Make sure to drain the ricotta well and squeeze the cooked spinach thoroughly before mixing it with the filling. Properly draining the ingredients ensures firm slices and a creamy but compact texture.
Yes, frozen spinach works perfectly in this recipe. After boiling it, drain it carefully and squeeze out all excess water before adding it to the ricotta mixture. Removing excess moisture is essential for the best results.
Yes. You can assemble the lasagna up to one day in advance and store it covered in the refrigerator. Bake it just before serving. You can also bake it in advance and reheat it gently in the oven.
Spinach lasagna can refer to different versions, sometimes made with tomato sauce or additional cheeses. Spinach and ricotta lasagna specifically features a creamy filling made from ricotta cheese and spinach, layered with pasta and béchamel sauce in the traditional Italian style.

Recipe Card

Spinach and Ricotta Lasagna (Italian Recipe with Béchamel Sauce)
Ingredients
For the Filling
- 500 g spinach - 1.1 pound, fresh or frozen
- 500 g ricotta - 1.1 pound
- 200 g grated Parmigiano Reggiano - about 2 cups
- nutmeg - to taste
- salt - to taste
- black pepper - to taste
For the Lasagna Layers
- 12 sheets Lasagna
For the Bechamel Sauce
- 500 ml whole milk - about 2 cups
- 50 g unsalted butter - 1.8 oz
- 50 g all-purpose flour or Italian 00 flour - 1.8 oz
- ¼ teaspoon salt
- nutmeg - to taste
Instructions
Make the Bechamel Sauce
- In a saucepan, melt the butter over low heat. Add the flour with the help of a flour sieve: in this way you are sure that there are no lumps. Mix quickly with a whisk, until the mixture is smooth. The mixture of butter and flour is called roux and it should be a nice golden color.
- Heat the milk, without bringing to a boil. Pour the milk slowly over the roux, while stirring with a whisk. Season with salt and grated nutmeg to taste.
- Cook for about 10-15 minutes, mixing constantly, until you have a fairly thick consistency. The sauce is ready when it sticks to the back of a wooden spoon. Set aside.
Make the Filling
- Boil the spinach in a pot with very little salted water for a few minutes, until tender. If you are using frozen spinach, when water start boiling, cook for 5 minutes.
- Drain and let them cool, then squeeze to remove excess water, finally chop with a hand immersion blender.
- In a bowl, combine the chopped spinach with the ricotta, half of the grated Parmigiano, a pinch of fine salt, freshly grated black pepper and nutmeg to taste. Mix all the ingredients until you get a creamy mixture.
Make the Layers
- Place 2-3 tablespoons of béchamel on the bottom of a baking pan, then lay down the first layer of lasagna sheets and cover them with the spinach and ricotta filling.
- Cover with some bèchamel and finish with 2-3 tablespoons of grated Parmigiano.
- Keep making the layers as described above, till you finish all the ingredients.
- End the last layer with plenty of Parmigiano cheese to create a crispy crust during cooking.
- Bake in a preheated oven at 180°C (350°F) for about 30 minutes. Let spinach and ricotta lasagna cool for 10 minutes before serving.





Anna M says
Delicious dish! Excellent instructions - really clear and easy to follow. Thank you for sharing.
Petra says
The amounts are definitely off. You need to DOUBLE THE BECHAMEL SAUCE. Otherwise there is no way to achieve the layering in the pictures.
The recipe is very delish 🙂
Silvana Nava says
Hi Petra,
If you really love béchamel sauce, you can increase the quantity slightly. But be careful not to overdo it. The stars of this recipe are the spinach. Together with the ricotta, they are already creamy. There should be very little béchamel sauce in the middle layers. Add more béchamel sauce to the last layer along with the Parmesan cheese to achieve a perfect gratin.
Thank you for your message and I look forward to hearing your thoughts on other recipes too.
Have a nice day, Silvana
Morella Menon says
This is a delightful recipe.
I had never made a spinach lasagna before only the meat one.
I have done this three times now, but I find that the amounts are not correct for me.
I double the sauce and use ab12x8 pan.
I do like the top to have sauce on. Very nice flavour and easy .