Vegan Moussaka
This post may contain affiliate links. As an Amazon Associate, I earn from qualifying purchases. Please read my disclosure.This authentic Vegan Moussaka is the best I’ve ever had! Layers of eggplant, creamy cashew béchamel, and meaty lentil ragu come together in this plant-based version inspired by my Greek mom’s traditional recipe.

Taking my mom’s Greek recipes from her childhood and making them vegan is my superpower. Moussaka was always a favorite in our home, but the traditional version is made with meat and dairy, which don’t fit my plant-based lifestyle. So, I worked to create a version that kept all the comforting layers while staying completely vegan, just like I did with my Greek vegan pastitsio recipe.
Eggplant is the heart of this dish, just like in my mom’s recipe, but instead of meat, I use a hearty lentil ragu that adds the same depth and texture. My creamy cashew béchamel blends perfectly, bringing every layer together. If you love plant-based Greek recipes, I invite you to try this vegetarian moussaka for another Mediterranean healthy meal.
👩🏽🍳 Why I Love This Recipe
Moussaka reminds me of everything I love about Greek food, a comforting dish meant to be shared with family and friends. It’s often compared to lasagna, but instead of pasta, tender eggplant separates the layers, making it naturally lighter while still just as satisfying. Greek food is such a big part of my family’s history, and transforming these classic recipes into plant-based versions lets me keep those traditions alive in a way that works for me.
With my experience as a certified health coach and years of creating plant-based recipes, I know how important it is to get every detail right. This is the best vegan moussaka because I’ve carefully refined each layer to make it just as satisfying as the traditional version.
The lentil ragu isn’t just a simple mix of lentils and tomato sauce. It’s slow-simmered with onions, garlic, and fresh tomatoes until it develops a rich texture. The cashew béchamel is smooth and creamy, made with blended cashews and potatoes for the perfect consistency.
I tested different methods to ensure the eggplant stays tender without becoming soggy, and the layers hold together beautifully, just like my mom’s recipe. My kids love it, my friends always ask for seconds, and I know you will love it too.
🥘 Ingredients
This vegan moussaka is made with ingredients I love using in my cooking. Check out the full list of wholesome ingredients below:

Eggplant & Vegetables: Eggplant forms the base of this dish, but you can also use potatoes or zucchini as alternatives. I slice it into thick rounds to hold up well in the layers. Sweet onion and fresh garlic add depth, but yellow, white, or brown onions work too.
Plant-Based Protein & Texture: A mix of chickpeas, lentils, and walnuts replaces the traditional meat filling, giving the sauce a protein-rich texture. Canned chickpeas work best for this, but if using dried, soak them overnight.
Sauce Ingredients: Fresh tomatoes, tomato sauce, and vegetable broth provide a rich, flavorful base. I use fresh parsley for a herby touch, but oregano, basil, or thyme are great additions. A splash of red wine deepens the flavor, but you can swap it for extra broth if needed.
Toppings & Seasonings: Breadcrumbs help create a golden crust, and you can use gluten-free if needed. My homemade vegan parmesan cheese adds a savory finish. Simple seasonings like salt and white pepper bring everything together, with an optional hint of cinnamon or nutmeg for extra warmth.
Creamy Vegan Béchamel: Instead of dairy, I blend cashews, vegetable broth, and a baked potato to create a creamy sauce that ties all the layers together perfectly.
🔪 How To Make
My vegan moussaka recipe with lentils definitely takes some time and effort. But the end result is SO good! Check out my tips below for prepping ahead to make this recipe easier.
Prep Eggplant: I start by slicing the eggplant into evenly thick pieces. To remove excess moisture, I sprinkle them with salt and let them sit for about 10 minutes in a colander or on a paper towel. After that, I wipe off any released water with a paper towel to ensure the best texture when cooked.

Bake Eggplant: After draining, I arrange the eggplant slices on a parchment-lined baking sheet and brush them with olive oil. I then broil them in the oven for about 5 minutes per side.

Make Bechamel: To make the vegan bechamel, I just add the cashews, potato, broth, and seasonings to a blender and blend until thick and creamy.

Make “Meat” Layer: In a large skillet or saucepan, I sauté the onion and garlic in extra virgin olive oil until cooked. You can also use vegetable broth to make this recipe oil free.
Note: You can choose to chop the cooked chickpeas and walnuts now instead of chopping the whole mixture after. Simple pulse in a food processor.
Sauté: I add the chickpeas, lentils, and walnuts to the pan, then sauté for 1 to 2 minutes.

Add the Rest of the “Meat” Ingredients: I pour in the broth, add the freshly chopped tomatoes, and stir in the parsley, letting everything simmer.

Blend for Texture (Optional): After letting the mixture cool slightly, I pulse it in a food processor to create a chunky, ground meat-like texture. This step is optional, but it gives the filling a more traditional consistency. If left whole, the texture will be less meaty but still delicious.

Assemble: I start by sprinkling breadcrumbs into a baking dish to help prevent sticking. Then, I layer the roasted eggplant slices, creating the base for the moussaka.

Continue Assembling: Then, I top with the “meaty” lentil mixture and some vegan parmesan.

Bake & Serve: Finally, I add the creamy bechamel sauce on top, and top with a final layer of vegan parmesan. I bake at 350 degrees Fahrenheit, let cool for 20 minutes, and then serve immediately.

💭 Expert Tips
My #1 Secret Tip for making this vegan moussaka recipe is to properly prep and cook the eggplant before baking to achieve the best texture. Eggplant holds a lot of moisture and can have a slightly bitter taste, so salting it beforehand helps draw out excess water and enhances its flavor. Pre-cooking also gives it a firmer, richer texture and prevents the moussaka from becoming watery.
Other Tips To Keep In Mind:
- Cashew Prep: If you’re not using a high-speed blender, soak the cashews overnight or grind them into a fine powder using a coffee grinder for the smoothest texture.
- Potato Prep: I recommend baking the potato ahead of time and letting it cool completely before using. Baking helps prevent excess moisture, but boiling works if preferred.
- Avoid Overcooking the “Meat” Mixture: The lentils, chickpeas, and walnuts create a hearty texture similar to ground meat, but overcooking can make them mushy. Cook until just al dente, as they will finish cooking in the oven.
- Let the Moussaka Rest Before Slicing: After baking, I let it cool for at least 20 to 30 minutes before slicing. This helps the layers firm up and prevents a soupy texture when serving.
📖 Variations
I truly believe this recipe is perfect as it is, but I’ve tested a couple of variations that work well and are worth trying.
Add Some Heat: When I want extra spice, I add ¼ teaspoon of crushed red pepper and a pinch of cayenne to the lentil filling. I adjust to taste for just the right amount of heat.
Eggplant Swaps: You can use sweet potatoes, zucchini, or even regular potatoes in place of the eggplant to change things up. Each one adds a unique flavor and texture to the dish.
Nut-Free Béchamel: To make the béchamel nut-free, I replace the cashews with one cup of silken tofu. It blends into a smooth and creamy sauce without changing the texture.
🍽 Serving Suggestions
In my opinion, this veggie moussaka is a meal all on its own. It’s packed with protein, grains, and veggies, so I never feel like I’m missing anything.
But if you want to take it up a notch, I recommend serving it with a fresh Greek feta salad. A side of vegan roasted potatoes makes it even heartier, and a big bowl of Greek farro salad ties everything together for the ultimate Greek feast.
🧊 Storage Directions
Refrigeration: When I need to store leftovers, I just transfer them to an airtight container and store in the fridge for up to 4 days.
Freezing: This recipe freezes pretty well! You can freeze leftovers, or you can make the entire lentil moussaka completely ahead of time and freeze until ready to eat it. Make sure it has cooled completely before you attempt to freeze it. Here is how I do it: I let the moussaka cool completely. Then I wrap the top in plastic, with the plastic layer touching the top to help with freezer burn. Then I wrap the top in foil and freeze. It will keep in the freezer for up to 3 months.
Reheating: When you are ready to eat it, defrost it on the counter. Then you can heat in the microwave or reheat in the oven adding a drizzle of broth if it starts to get dry or burn.
❓Recipe FAQs
Yes, and I actually recommend it. The flavors deepen as it sits, making it even better the next day. You can prepare the layers in advance and assemble everything when you are ready to bake.
If your moussaka is watery, it’s likely due to the eggplant. Eggplant releases a lot of moisture during cooking, which can make the dish soggy. In order to prevent this from happening, I strongly recommend prepping your eggplant the way I’ve outlined in the instructions (salting the eggplant slices, letting them drain, and then pre-roasting before layering to remove excess moisture).
I cook the lentils until they are just al dente so they hold their shape. Pulsing the mixture in a food processor gives it a heartier texture similar to traditional moussaka.

🍲 More Vegan Greek Recipes!
Love this plant based mediterranean 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
Vegan Moussaka
Ingredients
- 2 pounds eggplant (about 2 large)
- 2 teaspoons sea salt , divided
- 1 cup sweet onion , chopped
- 2 cloves garlic , chopped
- 1 ½ cups cooked chickpeas , rinsed and drained (or use 1/2 cup soaked dried chickpeas, see note)
- ½ cup dried green lentils
- ¼ cup chopped walnuts
- 2 cups veggie broth , low sodium if needed (may need more depending on beans used)
- 1 pound tomatoes , chopped (about 4 medium)
- ½ cup chopped parsley
- ¼ cup tomato sauce
- ¼ cup red wine
- 1/8 teaspoon white pepper (see note)
- Your favorite cooking oil or more veggie broth to sauté and coat eggplant
- 9 tablespoons breadcrumbs , gluten free if needed (1/2 cup plus 1 tablespoon)
- 1 cup Vegan Parmesan Cheese , divided into 4 parts (about 1 whole recipe if using my homemade version)
Béchamel Sauce:
- 1 ½ cups raw cashews (see note)
- 2 cups cooked potato (about 2 medium)
- 1 ½ cups veggie broth , low sodium if needed
- 1 teaspoon sea salt
- ¼ teaspoon white pepper (see note)
Equipment
Instructions
- Preheat oven to 350 F (175 C)
Prep the eggplant:
- Slice the eggplant into thick pieces, about ½ inch. Place them on a paper towel and sprinkle with 1 teaspoon of the salt. Allow them to sit for about 10 minutes while preparing other parts of the recipe. This will help bring out some of the water.
- After about 10 minutes, take eggplant pieces and wipe off any excess water with a paper towel. Place on a parchment lined cookie sheet and brush with oil or broth.
- Put eggplant in the oven and broil. Start with 5 minutes on each side, keep checking and leave until golden brown. Mine was 8 minutes on the first side, and 5 on the second.
Make béchamel:
- Make béchamel sauce by placing all ingredients into a blender and blending until nice and smooth.
Make “meat” sauce:
- Sauté onion and garlic with the rest of the salt (1 teaspoon) and oil or splash of broth until brown.
- You can choose to chop the cooked chickpeas and walnuts now instead of chopping the whole mixture after. Simple pulse in a food processor.
- Add chickpeas, lentils and walnuts, sauté 1-2 minutes.
- Add broth, fresh chopped tomatoes and parsley.
- Cook partially covered for 20 minutes until the liquid is almost gone and beans are al dente. Then add the tomato sauce, wine and pepper. Stir and cook partially covered for another 5 minutes until most of the liquid is gone. Add more broth if needed.
- Allow it to cool a bit, then if you haven't pulsed the chickpeas and walnuts already, put the whole mixture into a food processor and pulse to make it a chunky ground meat like texture. This is optional, if you prefer to leave it whole, that’s fine too. Just take note that if you don’t pulse the mixture a bit the texture will not be as meaty.
Put the moussaka together:
- Brush bottom of a 9 x 12 dish with a drizzle of oil or broth.
- Put ¼ cup breadcrumbs on the bottom to coat it and help prevent burning.
- Line the dish with half of the eggplant pieces.
- Sprinkle with ¼ of the parmesan.
- Top with the “meat” mixture.
- Sprinkle ¼ cup breadcrumbs on top.
- Sprinkle with ¼ of the parmesan.
- Place half of the eggplant pieces on top.
- Sprinkle with ¼ of the parmesan.
- Pour the béchamel over it.
- Sprinkle with the remaining 1 tablespoon of breadcrumbs.
- Sprinkle the top with the last ¼ of the parmesan.
- Bake for 30-35 minutes until the top is brown. Make sure not to overbake or it will dry out. Allow it to cool so it can thicken and settle.
- Devour your hard work!
Notes
-
- My #1 Tip for making this vegan moussaka recipe is to properly prep and cook the eggplant before baking to achieve the best texture. Eggplant holds a lot of moisture and can have a slightly bitter taste, so salting it beforehand helps draw out excess water and enhances its flavor. Pre-cooking also gives it a firmer, richer texture and prevents the moussaka from becoming watery.
- Cashew Prep: If you’re not using a high-speed blender, soak the cashews overnight or grind them into a fine powder using a coffee grinder for the smoothest texture.
-
- Potato Prep: I recommend baking the potato ahead of time and letting it cool completely before using. Baking helps prevent excess moisture, but boiling works if preferred.
-
- Avoid Overcooking the “Meat” Mixture: The lentils, chickpeas, and walnuts create a hearty texture similar to ground meat, but overcooking can make them mushy. Cook until just al dente, as they will finish cooking in the oven.
-
- Let the Moussaka Rest Before Slicing: After baking, I let it cool for at least 20 to 30 minutes before slicing. This helps the layers firm up and prevents a soupy texture when serving.