This authentic Vegetarian Moussaka is a hearty, layered casserole packed with roasted vegetables, a spiced lentil sauce, and a creamy béchamel topping. Inspired by the classic Greek dish, this meatless version replaces ground meat with lentils, making it both rich in protein and full of Mediterranean flavors. It’s a labor of love to make because of the various layers, but it is well worth it!

Moussaka is a traditional Mediterranean dish, most commonly associated with Greek cuisine. It typically consists of layers of eggplant, potatoes, and a savory tomato-based meat sauce, topped with a creamy béchamel. This vegetarian version swaps out the meat for lentils while keeping the rich, comforting flavors intact.
For serving, it’s best to let it rest before slicing to help the layers hold together. Pair it with a fresh Greek salad for a refreshing contrast, or serve warm with pita bread to scoop up the delicious sauce.
If you enjoy this recipe, you might also like this Shepherd’s Pie – a hearty lentil and vegetable filling with a mashed potato topping or this lentil hotpot. This rainbow vegetable lasagna or eggplant parmigiana are also delicious vegetarian main meals with a similar vibe.
Vegetarian Moussaka pairs well with:
- Tzatziki or Greek yogurt for a cool contrast.
- A simple cucumber and tomato salad with lemon dressing.
- Warm pita or crusty bread to soak up the flavors.
Ingredient Notes
Here’s a breakdown of the key ingredients and possible substitutions:
- Lentils: Green or black lentils hold their shape best and provide a hearty texture. I use canned lentils for ease, but you could pre-soak and cook dried lentils too.
- Chopped Tomatoes: Adds a rich tomato base; passata works well for a smoother sauce.
- Seasonings: Earthy flavors like nutmeg, cinnamon, bay leaves, and cumin season the moussaka.
- Potatoes, eggplant & zucchini: Some moussaka recipes are made only with eggplant, whilst others have potatoes and zucchini too. In a vegetarian moussaka recipe I think having all three is a great addition.
- Egg Yolks: Helps thicken and enrich the béchamel, giving it a velvety finish.
- Pecorino Cheese: Offers a salty, tangy bite; Parmesan or Gruyère can be used as alternatives.
- Fresh Parsley: Brightens up the dish with fresh, herby notes.

How To Make Vegetarian Moussaka
Again, the exact step-by-step instructions and ingredient quantities will be in the recipe card at the bottom of this page.
Below is an overview of making this recipe, plus some process shots to help you visualize how this recipe should turn out.
Step 1. Prepare the Vegetables
Thinly slice the potatoes, eggplant, and zucchini into 1cm rounds. Arrange them on a baking tray in a single layer (use multiple trays if needed), then brush both sides with olive oil, and season with salt and pepper. Roast for 30 minutes, flipping halfway through.
Step 2. Make the Lentil Sauce
Heat 1 tbsp of oil in a pan over medium heat, then add the diced onion and garlic; sauté for 4-5 minutes until softened.
Stir in the lentils, tomato paste, cinnamon, nutmeg, cumin, salt, and pepper, and add the chopped tomatoes and half a can of water. Drop in the bay leaves and let the sauce simmer for 20 minutes, stirring occasionally.
Step 3. Make the Béchamel
Melt the butter in a saucepan over low heat. Stir in the flour and cook for 1-2 minutes, whisking continuously until it forms a paste. Slowly pour in the milk, whisking constantly to avoid lumps.
Continue whisking until the sauce thickens into a creamy consistency. Stir in the nutmeg and black pepper. Remove from heat and whisk in the egg yolks quickly to prevent curdling.
Step 4. Assemble the Moussaka
Grease a baking dish and sprinkle a thin layer of Pecorino cheese at the bottom. Arrange the roasted potato slices in a layer, then sprinkle with more cheese, parsley, salt, and pepper. Add the eggplant slices in a single layer, repeating the cheese and seasoning. Repeat the same layering with the zucchini.
Spoon the lentil sauce evenly over the vegetable layers, smoothing it out. Sprinkle over any remaining parsley. Pour the béchamel sauce over the top, using a spoon to spread it evenly. Finish with a final layer of Pecorino cheese.
Place the assembled dish in the oven and bake for 30 minutes until golden brown on top. Remove from the oven and let it rest for a while before slicing—this helps the layers hold together.

Expert Tips
The trick to making your moussaka as hassle-free as possible is getting your timings right. The vegetables take about 30 minutes to roast in the oven, so get those cooking first and then start making your lentil sauce. While the lentil sauce is simmering, make the bechamel – and the three components should come together at roughly the same time.
If you’re in a rush, you could prep the lentil sauce and even the bechamel too in advance, and consider frying the vegetables for a quicker cooking time.
Storage
Store any leftovers in an airtight container for up to 3 days in the fridge. Alternatively, you could freeze portions for up to 3 months. Thaw your vegetarian moussaka overnight before reheating. Warm in the oven at 180°C (350°F) for 15-20 minutes, or microwave in short bursts.

FAQs
Can I use dried lentils instead of canned ones?
Yes! Use 150g dried lentils and cook them separately before adding to the sauce.
Can I make this vegan?
Absolutely! Replace the butter with olive oil, milk with plant-based milk, and cheese with nutritional yeast or vegan cheese. Omit the eggs or use a cornstarch slurry to thicken the bechamel.
How do I prevent watery moussaka?
Make sure to roast the vegetables first and let the baked moussaka rest before slicing.
Vegetarian Moussaka
This delicious vegetarian moussaka is a traditional Greek comfort food for the whole family. It's a labor of love to put together, but well worth it.
Ingredients
For the lentil layer:
- 1 tbsp oil
- 1 white onion
- 2 garlic cloves
- 1 tsp tomato paste
- 1 400g tinned lentils (green or black)
- 1 400g tin chopped tomatoes or passata
- 0.5 tsp cinnamon
- 0.5 tsp nutmeg
- 1 tsp cumin
- 3 bay leaves
- Salt and pepper to taste
For the vegetable layers:
- 2 baking potatoes
- 1 aubergine
- 2 courgettes
- 2 tbsp olive oil
For the bechamel:
- 60g butter
- 60g plain flour
- 400ml milk
- 0.5 tsp nutmeg
- 2 egg yolks
Additional ingredients:
- 100g Pecorino cheese
- 30g fresh parsley, chopped
Instructions
To make the vegetables:
- Thinly slice the potatoes, aubergine, and courgettes into 1cm rounds (it doesn’t matter too much how thick they are, as long as they’re even), and place on a baking tray, spread evenly without overlapping. You may need more than one baking tray.
- Brush the vegetables with the olive oil on both sides and season with salt and pepper.
- Bake in the oven at 200C | 395F. for 30 minutes
To make the lentil sauce
- Heat the oil in a pan, and then add your diced onion and garlic. Saute for 4-5 minutes, stirring occasionally.
- Tip in the lentils and add the seasonings.
- Add the chopped tomatoes and then fill up half of the can with water and add that to the pan too. Add the bay leaves and leave the sauce to simmer for 20 minutes.
To make the bechamel:
- Add the butter to a pan and wait for it to melt, then add the flour and stir it into the butter. Cook for 1-2 minutes, until the butter/flour smells slightly nutty and has combined into a doughy consistency.
- Slow whisk in the milk, bit by bit, until it’s smooth. Continue to whisk on a low heat until the bechamel is thick and creamy.
- Add the nutmeg and black pepper.
- Remove the bechamel from the heat and quickly whisk in the egg yolks (whisk continuously from adding them to avoid the egg scrambling in the bechamel).
To assemble:
- Add a layer of pecorino cheese to the bottom of the dish, followed by the sliced potatoes. Add a layer of cheese, salt and pepper, and parsley on top.
- Arrange the aubergine on top, followed by the same sprinkle of cheese, seasonings, and parsley.
- Repeat with the courgette.
- Spoon over the lentil mixture, using your spoon to smooth it evenly over the vegetables. Sprinkle over any remaining parsley (reserve a little to garnish the cooked moussaka).
- Pour over the bechamel sauce, again using a spoon to spread it evenly over the lentil mixture.
- Add a final layer of Pecorino cheese over the top of the bechamel, then bake your moussaka for 30 minutes at 200C | 395F until the top is golden brown.
- Remove from the oven and leave the moussaka to sit for at least 10 minutes (this helps each layer set and hold its shape better when dishing up). Sprinkle over the remaining parsley to garnish.
Notes
- Refrigerator: Store leftovers in an airtight container for up to 3 days.
- Freezer: Freeze portions for up to 3 months. Thaw overnight before reheating.
- Reheating: Warm in the oven at 180°C (350°F) for 15-20 minutes, or microwave in short bursts.
Nutrition Information:
Yield: 6 Serving Size: 1Amount Per Serving: Calories: 489Total Fat: 24gSaturated Fat: 10gTrans Fat: 0gUnsaturated Fat: 12gCholesterol: 106mgSodium: 408mgCarbohydrates: 53gFiber: 11gSugar: 12gProtein: 20g

Amy
Thursday 4th of September 2025
Really easy to follow and a delicious moussaka thank you :)
scott
Sunday 16th of February 2025
At what temperature do you bake the vegetables?
By The Forkful
Monday 17th of February 2025
Thanks for flagging this! I've updated the recipe wiht the oven temp
Nancy Capitanio
Thursday 13th of February 2025
The recipe sounds interesting but I haven't found any information on the oven temperatures for either roasting the vegetables or for cooking the moussaka once it's assembled -- can you provide details?
By The Forkful
Monday 17th of February 2025
Thanks for flagging this! I've updated the recipe wiht the oven temp
Annette (LADY LEWIS)
Sunday 9th of February 2025
Made this moussaka today... and it really was delicious. I have tried a few vegetarian moussaka recipes, this is my favourite yet. Local supermarket does not stock pecorino, so we used parmesan instead. If you are happy, we will share our love for your version on the website.
Angela Murphy
Friday 7th of February 2025
I cooked the moussaka and it was delicious!!
By The Forkful
Saturday 8th of February 2025
I'm so glad you liked it!!