Homemade Vegan Lasagna Recipe

Ultimate Italian comfort food in a plant based version. This Homemade Vegan Lasagna is hearty, healthy and so delicious!

I’ve been perfecting this recipe for many years and this is the best version of homemade vegan lasagna so far. It is a hit on every dinner party I host, mostly amongst meat eating members of our family.

Aromatic and sweet tomato sauce, with hidden nutritious gem – lentils. Spinach, heartily seasoned with garlic and mixed with tofu ‘cheese’. Layered between al-dente pasta sheets and covered with melted vegan cheese. What a delight!

Why we love Homemade Vegan Lasagna?

  • ultimate comfort food
  • very healthy ingredients including spinach, lentils, tomatoes, garlic and tofu
  • budget friendly
  • rich and satisfying
  • easily adjusted to what you have at hand
  • dairy-free, egg-free and kids friendly
  • perfect way so sneak spinach and lentils to those who refuse to eat them (usually kids!)

Vegan Lasagna on a white plate in the kitchen.

Ingredients in Homemade Vegan Lasagna Recipe

Ingredients are simple, as best dishes of Italian cuisine consist of very basic ingredients of good quality. I make my own tomato sauce instead of buying marinara in a jar. I believe that it’s the tomatoes that do the job in most Italian recipes.


You can use regular or whole grain lasagna sheets. This kind of pasta is almost always plant based, and should consist of 100% durum wheat. I once saw lasagna noodles containing eggs, but it’s rather uncommon.


You can use red or green lentils.

If you want the lentils to fall apart, to ‘hide’ them in the sauce, use red ones. If you want more texture in your lasagna use green lentils and don’t overcook them.

If using green lentils you can soak them for around 30 minutes – they will cook faster. Red lentils usually cook very quickly and even fall apart thickening the sauce.

Did you know that modest lentils are actually one of the best super foods? They are rich in fiber, protein, potassium and iron, and low in fat and calories. The provide good complex carbohydrates, perfect fuel for our body.


Type of tomatoes you use will have great impact on the taste of the final dish. Since most lasagna ingredients are easily accessible and cheap, I suggest you invest in good quality tomato passata if you can (preferably from Italy).


I use yellow onion for tomato sauce and garlic for spinach layer. Don’t be afraid of the amount of garlic used. Spinach really likes its company and strong garlic flavor will get lost in the whole dish.

Vegan Lasagna served with wine.


Ok, so you will need two truck of fresh spinach. Or nearly as much.. Unfortunately spinach looses volume while stewing A LOT!

If you have baby spinach you don’t even have to chop it. With regular spinach leaves, just chop them roughly.

Can I use frozen spinach?

Theoretically yes, but I don’t recommend it. Frozen spinach is usually very finely chopped, so you will end up with rather mushy texture. What we want is lightly blanched spinach that still looks like leaves.


Any type of firm tofu will do. If you can buy smoked tofu it will be even better.


It’s hard to recommend any particular type of cheese, as I’ve seen various brands in different countries. For vegan lasagna I use Violife brand (mozzarella or gouda flavor), as from my experience if melts very well. In some places you can buy the block and grate it (I even saw it already grated few times). If you only have vegan cheese in slices you can also use them, no problem.

PRO HACK – I discovered that most vegan cheeses melt better when covered with something else. That is why I put layer of cheese on top of my vegan lasagna and cover it with last thin layer of tomato sauce. This way your vegan cheese won’t dry out in the oven, but will melt nicely.

If you want to make this vegan lasagna even healthier, try making your own plant based cheese with this recipe for Vegan Mozarella from cashews, or this quick nut-free vegan cheese.

Hearty, rich and very healthy Homemade Vegan Lasagna wins as a family comfort food.

Homemade Vegan Lasagna

Recipe by VegnFitCourse: MainCuisine: ItalianDifficulty: Medium


Prep time


Baking time


Total time





Ultimate Italian comfort food in a pant based version. This Homemade Vegan Lasagna is hearty, healthy and so delicious!


  • 1 box lasagna pasta sheets*

  • vegan cheese**

  • 2 cans tomato passata 800ml / 27 oz (preferably from Italian tomatoes)

  • 1 yellow onion

  • 1 cup lentils (green or red)

  • 1 grated carrot (optional)

  • 1 tsp brown sugar

  • salt and pepper

  • favorite Italian herbs (I added oregano and thyme)

  • 400g / 14.1 oz fresh baby spinach

  • 4 cloves of garlic

  • 100g / 3.50 oz firm tofu

  • 1 tbsp nutritional yeast (optional, but recommended)

  • juice from half the lemon

  • salt and pepper


    Soak lentils for al least 20 min if using green type. If using red ones, only rinse them.
    In a pot fry onions until translucent, add 1 tsp brown sugar and wait for the onion to brown. Add grated carrot *** and stew for 2-3 minutes covered.
    Add tomato passata, lentils and spices. Cook for around 20 minutes (or longer if you want the lentils to fall apart). Add some water if sauce becomes very thick.
    Try the sauce and season with salt and pepper.
    Fry minced garlic on a low heat until you feel the smell (about 1-2 minutes). Don’t let it turn brown. Add tofu, crumbled with your fingers; add lemon juice and nutritional yeast. Cover and sauté for 1-2 minutes.
    Add spinach leaves (chopped roughly if they are big), cover the pot and wait for around 10 minutes while spinach disappears. Seriously it looses volume a lot!
    If there is liquid on the bottom, uncover pot and cook a little longer until it evaporates.
  • Grate your vegan cheese.
  • Preheat oven to 180°C / 350°F.
    Spread thin layer or tomato sauce on the bottom of the oven dish.
    Place 1 layer of lasagna sheets.
    Another – thicker layer of tomato sauce.
    1 layer of lasagna sheets.
    Spread layer of spinach.
    1 layer of lasagna sheets.
    Layer of tomato sauce.
    1 layer of lasagna sheets.
    Cover with grated cheese.
    Last thin layer of tomato sauce.
  • Cover your oven dish. If it doesn’t have cover, use alu-foil. Bake vegan lasagna in 180°C / 350°F for 30 minutes covered, uncover and bake for 10-15 more minutes checking for the upper layer not to burn.
  • Take lasagna out of the oven and leave for 15 minutes to settle before cutting.


  • *1 box of lasagna pasta is usually 500g / 17.6oz. Depending on the size of your oven dish you might not use the whole box.
  • ** I don’t suggest the exact amount of grated vegan cheese, as everyone’s preference is different. I would probably use 1 cup to cover the whole lasagna, while my husband would easily use three times as much. Follow your heart.
  • *** At this point you can add other vegetables (grated or finely chopped) if you want. Pumpkin, sweet potato, aubergine..

Want more vegan goodness?

Sign up for a new recipe newsletter !


It is very important to wait 15 minutes after you take your lasagna out of oven and before you start to cut it. Immediately after baking the inside is almost liquid. If you rush it, nice layers will fall apart. Cover the dish with alu-foil not to loose too much heat.

I like to serve lasagna with a simple fresh salad made from lettuce, cherry tomatoes, sweet corn and red onion, with olive oil. And a glass of white wine!

Other delicious comfort foods:

Vegan Beef Stew

Vegan Bolognese Sauce

Vegan Lasagna served with wine.

How to make Homemade Vegan Lasagna

Since I like planning in the kitchen, I often prepare spinach and tomato sauce one day before. Then, on lasagna day I just assemble, bake and enjoy my creation.

Homemade Vegan Lasagna served with white wine.


Soaking lentils isn’t necessary, but do it if you want to shorten cooking time. Fry thinly chopped onion until translucent and add brown sugar to caramelize. If you use any other veggies (carrot, pumpkin, pepper) add them now and stew in a covered pot for few minutes.

Add passata and lentils, salt pepper and herbs. I recommend oregano and thyme. Italian herb mix would also be a nice option.

You don’t have to cook the sauce for a very long time, as it will also be baked in the oven. It all depends how soft you want veggies and lentils to be.


We don’t need to cook the spinach a lot. We just want to soften it and let it combine with other flavors.

Start by frying garlic, chopped finely or minced. You can put it an a cold oil and let it heat up together slowly. This way garlic won’t burn and oil will slowly get the flavor.

You can chop your tofu, but I like to just crumble it between my fingers. We want tofu to sauté with garlic, lemon juice and nutritional yeast. It will give it the ‘cheese’ flavor.

Now we add whole mountain of spinach and cover the pot. It will slowly loose water and disappear. If you see a lot of water on the bottom of the pot, uncover it for the rest of cooking time. Stir everything well to combine and leave it to cool down.

Two pictures showing fresh and cooked spinach.


Start with a thin layer of tomato sauce, spread it on the bottom of the oven dish.

Place one layer of dry lasagna sheets. You may need to divide one sheet if there are any small gaps on the side of the dish.

Add thick layer of tomato lentils sauce. Cover it with lasagna sheets.

Spinach layer should be in the middle of the dish, cover it with lasagna sheets.

Depending on the size of your oven dish you may repeat tomato sauce and pasta sheets once or twice.

Place grated vegan cheese on top of last layer of lasagna sheets and cover it with last thin layer of tomato sauce.

Pictures showing stages of assembling vegan lasagna.


Preheat oven to 180°C / 350°F.

In order for the pasta to cook we need to bake vegan lasagna for 30 minutes in covered dish. My favorite oven dish doesn’t have a cover, so I place aluminum foil tightly on top. After 30 minutes you can remove the cover and bake lasagna for 10-15 more minutes. We want the top to become a little crunchy and slightly browned.

Vegan Lasagna in the oven dish.


Take the dish out of the oven, put the cover back on. Let the lasagna sit for 10-15 minutes.

I know it’s gonna be hard to wait, with this amazing smell filling your kitchen. If you cut the pieces and try to serve them immediately they are sure to fall apart.

Do I have to soften lasagna sheets?

You don’t have to pre-cook lasagna sheets, as there is enough liquid and temperature in the oven to cook pasta al-dente. Believe me, you wouldn’t like to eat lasagna with overcooked pasta inside.

How to store Vegan Lasagna?

This vegan lasagna is still great the next day.

Leave it in the covered oven dish. Next day heat it up in the oven in covered dish, in max 150°C / 300°F. 20 minutes should be enough.

I wouldn’t freeze whole vegan lasagna, but you can freeze the spinach and tomato sauce if you made too much.

Let me know how did you like this Homemade Vegan Lasagna Recipe! Please share the recipe on Pinterest and Yummly!

Pin showing vegan lasagna on a white plate.

Spread the love

Leave a Comment

Your email address will not be published. Required fields are marked *