This post may contain affiliate links. Read my full disclosure here.
Layers of roasted eggplant, a “meaty” and tomatoey lentil filling, and vegan bechamel sauce come together to create this incredible Vegan Moussaka. It’s the ultimate comfort food to make for dinner, plus it can be made both gluten and nut free!
Bring a taste of the Mediterranean right into your home with this hearty and delicious Vegan Moussaka!
This comforting meal is filled with layers of eggplant, lentils, vegan ground beef, and tomatoes before it’s finished with creamy bechamel sauce on top. It’s a classic Greek dish you can make ahead of time, enjoy for a hearty weeknight dinner, or freeze for later.
My Greek vegetarian moussaka recipe has 4 delicious layers:
- Roasted eggplant
- A tomatoey and “meaty” filling
- More eggplant
- And a creamy vegan bechamel sauce on top!
This will easily become your family’s new favorite dinner by the time they’re finished with the first bite. Make it a meal and serve each slice next to some Roasted Brussels Sprouts, Baked Potato Wedges, and a light Kale Salad.
What is moussaka?
My vegan eggplant moussaka is far from the traditional recipe but still has an amazing blend of flavors and doesn’t skip out on any of the layers. Two layers of sliced and roasted eggplant are filled with a meaty mix of vegan ground beef, lentils, tomatoes, and spices before being topped with a cashew cream bechamel sauce.
How to make vegetarian moussaka
Begin by slicing the eggplant, place them in a large colander, and sprinkle with salt. This will make the eggplant “sweat” and remove its natural bitter flavor. Afterward, pat the slices dry before baking them on a prepared baking sheet until lightly browned and softened.
While they bake, make the vegan bechamel by combining the ingredients in a blender and blending until smooth.
Make the “meat” filling in a large skillet on the stove.
Now that all three elements are prepared, it’s time to assemble. Line the bottom of a baking dish with a layer of eggplant. Pour on the “meat” filling and add another layer of eggplant on top. Finish by pouring the bechamel sauce on top and sprinkle with breadcrumbs.
Bake the moussaka uncovered until it’s golden brown on top and enjoy!
Gluten free option
All you have to do to make this moussaka gluten free is to remove the breadcrumb topping or replace them with gluten free breadcrumbs.
Nut free option
Nut allergy or aversion? No problem! Just replace the nuts in the vegan bechamel with pine nuts (not a nut free option, use only if you are not allergic to pine nuts) or sunflower seeds.
Recipe tips and variations
- Let it rest. Leave the moussaka to rest for 10 minutes after it comes out of the oven to help the texture solidify slightly. It will be too loose and liquidy if you slice into it right away.
- Can’t find Impossible Meat? Sub in cooked lentils or another vegan ground beef substitute like Beyond or Gardein brand. If using all lentils, add an extra 2 or 3 cups of cooked lentils in place of the meat.
- Instead of bechamel, you could top the moussaka with mashed potatoes, just like a lentil shepherd’s pie.
Storing, freezing, and reheating
This is a great option for meal prep. Put it all together on Sunday and enjoy the slices for lunch all week long!
The leftovers will keep for 4 days in the refrigerator. Simply reheat each serving in the microwave or oven until warmed through.
It can also be frozen! Let the cooked moussaka cool completely before covering with plastic or foil and freezing. Thaw overnight in the refrigerator before baking until hot.
Want more comforting vegan meals?
- 2 medium eggplants
- 2 teaspoons salt
- 3 tablespoons olive oil
Tomato "Meat" Filling
- 1 tablespoon olive oil
- 1 medium onion, diced
- 3 cloves garlic, minced
- 12 ounces impossible ground "meat", or other substitute, see Notes
- 3 cups cooked lentils (I used canned), or more impossible meat
- 1/2 cup red wine, may omit if needed
- 14 ounce can crushed tomatoes
- 1 cup vegetable broth
- 1 teaspoon granulated sugar
- 2 teaspoons dried oregano
- 1/2 teaspoon ground cinnamon
- 3/4 teaspoon salt, or to taste
- 1/3 cup panko breadcrumbs
For the Eggplant
- Slice the eggplant lengthwise about 1/3 inch thick. Place the slices in a large colander overlapping somewhat, and sprinkle with salt. Move them around to sprinkle all the eggplant with salt, and leave it to sweat for 30 minutes. This will remove any bitterness.
- While it sweats, make the "meat" filling and vegan bechamel (see instructions below.)
- Preheat the oven to 425 degrees F and line 2 large baking sheets with parchment paper.
- Pat the eggplant dry with a clean dish towel, very well so you also remove a lot of the salt. Transfer the eggplant slices to the prepared pans, and brush with olive oil on both sides. You can use olive oil spray if that's easier.
- Place in the oven and bake for 15-20 minutes, until lightly browned and softened. Remove from the oven and set aside. Lower heat to 350 degrees F.
For the "Meat" Sauce
- In a large skillet over medium-high heat, heat the olive oil. Add the onion and garlic and sauté for 2-3 minutes.
- Add the impossible meat (or lentils) and cook until it turns brown, breaking it up with a spatula as you cook it. This will take 5-8 minutes.
- Add the red wine and cook for 1-2 minutes, then add the crushed tomatoes, vegetable broth, sugar, oregano, cinnamon and salt, to taste. Stir to combine.
- Bring the mixture to a boil, then lower heat to a simmer and cook for 15 minutes, stirring occasionally. Remove from heat and set aside.
For the Bechamel
- Add the cashews to a small pot and cover with 3 cups of water. Bring to a boil, then remove from heat and let soak for 15 minutes.
- Drain the cashews, then add them to a high speed blender, along with the 1 cup of fresh water and all the other bechamel ingredients. Blend on high until very smooth and creamy.
Assemble and Bake
- In a baking dish (I used my 10 inch cast iron pan, you can use an 8×8 inch casserole dish as well) place half of the eggplant on the bottom.
- Top with all of the filling.
- Place the rest of the eggplant on top of the filling, then pour the bechamel sauce on top. Sprinkle with breadcrumbs.
- Bake, uncovered, for 35-40 minutes until golden brown on top. Let it sit for 10 minutes before slicing and serving. Enjoy!
- Leftovers will keep for 4 days in the refrigerator, simply reheat in the microwave or oven until warm.
- It can be frozen, simply cool it completely, then cover and wrap well before freezing. Thaw overnight in the refrigerator before baking until hot.
- For the meat: You can substitute more cooked lentils for the impossible meat if desired, or any other vegan ground beef substitute like Beyond or Gardein brand. If using all lentils, add an extra 2-3 cups cooked lentils in place of the meat.
- Cashew alternative: In place of the cashews, use pine nuts or sunflower seeds.
- Gluten free: Omit the breadcrumbs, or use gluten free breadcrumbs.
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com. Read my full disclosure here