Vegetarian Moussaka
This post may contain affiliate links. As an Amazon Associate, I earn from qualifying purchases. Please read my disclosure.My Vegetarian Moussaka has all the rich flavors and textures of the classic dish, but it’s completely vegetarian and lighter too. With tender, pan-fried eggplant, a hearty tomato-lentil filling, and creamy béchamel, it’s a meal I always come back to when I want something comforting for my family. It’s Greek-inspired comfort food!

I love eggplant for its soft, rich texture and how easy it is to use in so many recipes. It’s packed with fiber, antioxidants, and vitamins, making it a staple in my kitchen. I’ve made everything from crispy eggplant fries to lighter versions of my favorite classics, like eggplant parmesan without breadcrumbs. But with two hungry kids to feed, I needed a vegetarian moussaka that was simple to make, packed with Mediterranean flavors, and hearty enough for the whole family.
After testing different versions, I came up with this hearty veggie Greek casserole. Swapping the meat for lentils was an easy choice because they add so much hearty texture and nutrition. Instead of a heavy cheese sauce, I went for a creamy, satisfying béchamel that keeps things light but just as indulgent. This dish is everything I love about Greek-inspired cooking.
Latest Recipe Video!
👩🏽🍳 Why I Love This Recipe
I’ve always been a fan of Mediterranean flavors, and moussaka is one of those timeless dishes that never fails to impress. It has all the flavors and textures of the traditional moussaka dish, but it’s completely meat-free (Yes, my vegetarian friends – You’re welcome!).
Moussaka is a staple in Greek cuisine, traditionally it’s made with ground meat, but I swapped it for lentils, which add a hearty bite and plenty of protein. Instead of a heavy cheese sauce, I use a creamy béchamel made with unsweetened soy milk and a touch of nutmeg, keeping it light but just as indulgent. The eggplant is pan-fried until golden, while the tomato-based filling is simmered with onions, garlic, oregano, and cinnamon for a beautifully fragrant taste. While it takes more time than a quick one-pan meal, every step is simple, and the result is so worth it.
As a nutritionist and health coach, I love that this recipe is packed with plant-based protein, fiber, and wholesome ingredients, making it a great option for a balanced meal. And as a mom, I appreciate a meal that fills up my family while giving them the nutrients they need. This is not just another vegetable casserole, this is true comfort food, layered with textures and flavors that make every bite delicious. I hope you love it as much as we do!
🥘 Ingredients
This vegetarian moussaka comes together with everyday ingredients that are easy to find and full of rich, Mediterranean flavors. Here is what I need to make it:

Oil: I love using extra virgin olive oil for sautéing because of its rich flavor, while a neutral oil like canola or vegan butter works best for the béchamel.
Aromatics: Onion and garlic add depth and bring out the flavors in the sauce, just like they do in soups and stews.
Tomato Base: Tomato paste and diced tomatoes give the filling a natural sweetness and acidity, making the sauce thick, rich, and flavorful.
Lentils & Stock: Brown lentils replace meat, keeping the dish hearty and protein-packed, while vegan beef stock adds that deep, savory flavor.
Spices & Seasoning: A mix of oregano, cinnamon, sugar, bay leaf, salt, and black pepper brings out the Mediterranean flavors in every bite.
Béchamel Ingredients: Flour, soy milk, and parmesan create a creamy, satisfying topping that ties everything together. I prefer soy milk for its neutral taste, but any plant-based milk works.
🔪 How To Make
Making my vegetarian moussaka may have a few steps, but it’s simpler than you think. With a little time and the right ingredients, you’ll have a hearty, flavorful dish that’s totally worth the effort.
Prep & Slice Eggplant: I start by gathering all my ingredients for this moussaka. I slice the eggplant lengthwise, then sprinkle both sides with salt to help draw out moisture. I let it sit for 30 minutes while I prepare the lentil filling.

Sauté Aromatics: I heat a large skillet over medium heat and add a little olive oil. Then, I sauté the onion and garlic until they soften and become fragrant. I stir in the tomato paste and let it cook for 2 more minutes, mixing occasionally to deepen the flavor.

Simmer Lentil Filling: I add the rest of the filling ingredients to the skillet over medium-high heat and bring it to a gentle boil. Then, I reduce the heat and let it simmer for 20 to 30 minutes, allowing the flavors to blend. I carefully taste the mixture (it’s hot!) and adjust the seasoning if needed.

Start Vegan Béchamel: While the lentil filling simmers, I start the béchamel sauce by heating the oil in a large saucepan. I whisk in the flour and cook for 2 to 3 minutes, stirring constantly to keep it from burning.

Add Soy Milk and Parmesan: I slowly whisk in the soy milk, adding it a little at a time to keep the sauce smooth and lump-free. I continue whisking over medium heat until the mixture thickens. Then, I stir in the nutmeg, ½ cup of parmesan cheese, salt, and pepper, whisking until everything is creamy and well combined.

Cook Eggplant: I pat the eggplant slices dry with a paper towel to remove any excess moisture. Then, I heat a large skillet over medium heat with a little oil and pan-fry each slice until golden brown on both sides. While the eggplant cooks, I preheat the oven to 350°F to get it ready for baking.

Start Assembling: I lay half of the eggplant slices in a single layer at the bottom of a baking dish to start building this Greek vegetarian moussaka. This creates the first delicious layer of the casserole!

Add Filling: I spread the lentil ragu evenly over the layer of eggplant.

Layer Eggplant: I place the remaining eggplant slices on top, creating another hearty layer for this vegetarian moussaka.

Add Béchamel Sauce: I pour the creamy béchamel sauce evenly over the top layer of eggplant, making sure it covers everything. Then, I sprinkle the remaining parmesan on top for a golden, flavorful finish.

Bake: I place the baking dish in the oven and let it bake for 40 to 50 minutes, until the top is golden and bubbling.

Serve: I take the moussaka out of the oven and let it cool for 20 minutes so the layers hold together. Then, I slice it up and enjoy every hearty bite!

💭 Expert Tips
My #1 Secret Tip for making my vegetarian moussaka is to let it rest before slicing. I know how tempting it is to dig in right away, but giving it at least 20 minutes to cool makes all the difference. The béchamel sauce thickens, the layers set, and every bite holds together beautifully. Trust me, it is worth the wait!
Other Tips To Keep In Mind:
- Don’t forget to salt the eggplant: I always salt the eggplant before cooking to draw out excess liquid. It helps with caramelization and removes any bitterness.
- Let the sauce simmer: I let the sauce simmer for at least 20 minutes so the flavors deepen. It also thickens the sauce, making sure my moussaka is never watery.
- Choose firm eggplants: I always pick eggplants that feel firm and have smooth, shiny skin. If they are too soft, they can become mushy when cooked.
📖 Variations
I love this recipe as is, but it’s easy to tweak based on dietary needs or ingredient availability:
Vegan and gluten-free option: I swap the parmesan for a vegan parmesan cheese or nutritional yeast to keep it plant-based. For a gluten-free version, I use a gluten-free flour blend in the béchamel, which thickens the sauce just as well.
More protein: I mix in ½ to 1 cup of crumbled plant-based protein like Beyond Meat with the lentils. It adds extra protein while keeping the dish completely vegetarian.
Shepherd’s pie version: I swap the béchamel for three to four cups of mashed potatoes and bake until golden. It gives the dish a cozy, comforting twist with a creamy topping.
🍽 Serving Suggestions
As a busy mom, I love serving this vegetarian moussaka with simple sides that make dinner feel complete. It reminds me of my veggie lasagna, so I pair it with warm garlic bread or a slice of buttered toast for that cozy, comforting feel.
If I have extra time, a bowl of my vegan tomato soup makes it even heartier, and when the kids are in bed, I treat myself to a glass of red wine for the perfect ending to the meal. 😉
🧊 Storage Directions
Refrigeration: I store leftover moussaka in an airtight container in the fridge for up to five days. When I am ready to eat, I reheat it in the microwave or oven until warmed through.
Freezing: I freeze moussaka in a freezer-safe airtight container for up to three months. When I need it, I thaw it overnight in the fridge before reheating.
Reheating: I cover the moussaka with foil and warm it in a 350-degree oven until hot throughout.
❓Recipe FAQs
Yes, I love making moussaka ahead of time. I assemble it, cover it, and store it in the fridge for up to a day before baking.
This usually happens if the eggplant was not salted and dried properly or if the sauce did not simmer long enough. I always salt the eggplant, let it sit, and simmer the filling until it thickens.
I whisk constantly while slowly adding the milk to prevent lumps. If I ever get lumps, I blend the sauce for a few seconds to smooth it out.
This middle eastern dish is traditionally made with sliced & fried eggplant, a seasoned tomato-based meat sauce, and a creamy béchamel sauce. There are multiple regional variations, some of which contain layers of potato or zucchini slices. You can easily add a potato layer to this lightened up moussaka if you would like (see my variations section earlier in this post!)

🍆 More Eggplant Recipes!
Love this plant based recipe? Please leave a 5-star rating 🌟 in the recipe below and/or a review in the comment section further down the page!
You can also FOLLOW ME on FACEBOOK, INSTAGRAM, and PINTEREST to see more delicious, healthy, family-friendly food, and if you have any questions, I’m here to help!
📋 Recipe Card
🎥 Watch How to Make It
Vegetarian Moussaka
Ingredients
Eggplant
- 3 large eggplant (aubergine)
- 2 tsp salt
- ¼ cup oil
Filling
- 2 tbsp oil
- 1 onion diced
- 2 cloves of garlic crushed
- 2 tbsp tomato paste
- 2 15oz cans brown lentils washed & drained
- 15 oz can diced tomatoes
- ½ cup vegan beef stock or vegetable stock
- 2 tsp dried oregano
- ½ tsp cinnamon
- 1 tsp sugar
- 1 bay leaf
- 1 tsp salt
- ½ tsp pepper
Bechamel Sauce
- ¼ cup oil
- ½ cup all-purpose flour
- 3½ cups unsweetened soy milk
- ½ tsp nutmeg
- 1 cup regular or vegan parmesan cheese
- ½ tsp salt
- ¼ tsp pepper
Equipment
Instructions
- Slice the eggplant lengthwise.
- Sprinkle with salt on both sides and leave for 30 minutes while preparing the filling.
- Prepare the filling by heating a large pot and sautéing the onion and garlic in the oil until softened.
- Add the tomato paste and cook for 2 minutes.
- Add remaining ingredients and bring to a boil, reduce heat and simmer for 20-30 minutes.
- Adjust seasoning to taste.
- While the filling is cooking prepare the bechamel sauce by heating the oil in a pot and whisking through the flour. Cook for 2-3 minutes.
- Slowly whisk the soy milk in stages, into the flour mixture until all incorporated and smooth.
- Cook over medium heat while whisking until thickened.
- Add the nutmeg, ½ cup parmesan cheese, salt and pepper, whisking until smooth.
- Pat dry the aubergine slices with a paper towel.
- Heat a skillet with oil and cook aubergine slices until golden on both sides.
- Preheat the oven to 350 degrees F / 180 C.
- To Assemble: Layer ½ of the aubergine slices over the base of a 15 inch x 10 inch baking dish.
- Top with the filling and add another layer of eggplant.
- Pour the bechamel sauce over top and sprinkle with the remaining cheese.
- Bake in the oven for 40-50 minutes.
- Once cooked remove from the oven and allow it to cool for 20-30 minutes before cutting into 10 pieces and serving.
Notes
-
- My #1 Secret Tip for making my vegetarian moussaka is to let it rest before slicing. I know how tempting it is to dig in right away, but giving it at least 20 minutes to cool makes all the difference. The béchamel sauce thickens, the layers set, and every bite holds together beautifully. Trust me, it is worth the wait!
- Don’t forget to salt the eggplant: I always salt the eggplant before cooking to draw out excess liquid. It helps with caramelization and removes any bitterness.
-
- Let the sauce simmer: I let the sauce simmer for at least 20 minutes so the flavors deepen. It also thickens the sauce, making sure my moussaka is never watery.
-
- Choose firm eggplants: I always pick eggplants that feel firm and have smooth, shiny skin. If they are too soft, they can become mushy when cooked.
-
- Vegan and gluten-free option: I swap the parmesan for a dairy-free alternative or nutritional yeast to keep it plant-based. For a gluten-free version, I use a gluten-free flour blend in the béchamel, which thickens the sauce just as well.
So creamy and delicious, I just can’t believe it is vegan!
I know right?? We had some meat eaters at our dinner table and they were super satisfied with this dish too!
My family ate every last bite. So hearty and delicious. Yum!
Awesome!! So great to hear!
My kids love moussaka, and I think your vegan version will be a great fit for our family, thanks!
Thanks Natalie! I’m sure you will all love it!
This dish was amazing! The flavors were so rich and the textures were spot on. I was really blown away by how delicious it was. I will definitely be making this again.
Yay! I’m so glad you liked this recipe Mandy!