This traditional Greek Moussaka recipe is made with thick layers of succulent eggplant in a rich tomato-meat sauce, topped with a creamy béchamel sauce. Vegetarian & vegan-adaptable. Video.
In a nutshell, this Moussaka recipe is heavenly. It is one of the first recipes I learned to cook, and to this day, it remains one of my favorites. Cozy, hearty, and flavorful, authentic Moussaka is pure comfort food. I encourage you to make it on a lazy Sunday or when you have time to enjoy the process; it will reward you a hundredfold. I know you will love this! Plus, it’s perfect for special occasions!
Over the years, I’ve tested and perfected this recipe, discovering what truly makes the perfect Moussaka: a rich flavor without greasiness, a creamy béchamel that holds its shape, and a texture that slices easily. I’ve even tested the “shortcuts,” and they simply don’t achieve the same results. For the BEST moussaka, roast or grill the eggplant before assembling and baking.
I’ll walk you through each step-plus plenty of make-ahead and vegan tips-so it turns out beautifully every time.
What is Moussaka?
Moussaka originates from the Mediterranean but most commonly hails from Greece. Succulent, roasted eggplant is layered with a rich, meaty tomato sauce made with ground lamb (or ground beef or plant-based meat) and a hint of cinnamon. Topped with a wobbly béchamel sauce infused with fresh nutmeg, it’s placed in a hot oven to bake. The creamy béchamel turns a lovely golden brown, infusing your home with goodness. Every time I make this classic Greek dish, I find myself wishing I made a double batch, freezing one for another time.
Moussaka Recipe Ingredients

- Roasted eggplant (aubergine): Look for larger eggplants to make this less work. Globe eggplant makes up the base layer. It is sliced and salted to draw out excess moisture and bitterness before roasting. You can grill the eggplant for even more flavor.
- Ground meat: Use ground lamb (traditional) for the best traditional flavor. You can substitute with ground meat or a plant-based “ground meat” (for vegetarian or vegan moussaka). If you are new to lamb, try half ground lamb and half ground beef.
- Onions and garlic: Add savory depth of flavor.
- Tomato sauce: Adds a tangy, sweet element, with a hint of cinnamon.
- Béchamel sauce: This creamy white sauce is a signature component of moussaka. It’s made from unsalted butter, all-purpose flour, and milk, and is usually seasoned with a pinch of nutmeg. See notes for a vegan option.
- Cheese: (optional): If desired, sprinkle grated Parmesan cheese or Kefalotyri over the béchamel layer for a golden crust.
- Spices and herbs: Oregano, cinnamon, nutmeg, thyme, and bay leaves enhance the overall flavor profile.
- Egg (optional): Beaten egg yolks can be mixed into the béchamel sauce for richness and structure.
- Fresh parsley: Adds a lovely freshness to the tomato sauce.
Variations of moussaka
- Add layers of potatoes: Layering in roasted or grilled Yukon gold or russet potato slices with the eggplant adds extra heartiness. It’s especially great for vegetarian or vegan versions!
- Vegetarian: Use plant-based ground “meat” instead of traditional meat. The rest of the ingredients and the preparation process remain the same.
- Vegan: Use plant-based “meat” in the tomato meat sauce, substituting vegan butter or olive oil for the butter, and plant-based milk in the béchamel sauce. Skip adding the egg to the béchamel sauce, and either skip the cheese or use vegan cheese for the top.
- Gluten-free: Use gluten-free flour as a substitute in the béchamel sauce to make a gluten-free version.
How to make Moussaka
This recipe has four steps, so make this on a day when you have ample time and are not rushed. Tip: Or make it in stages! Roast the eggplant and make the meat sauce ahead of time, and assemble the dish on the day of baking. The leftovers are even better, so you could make the whole dish in advance, bake it, and reheat it when entertaining. Sometimes I’ll have my husband grill the eggplant ahead, and I’ll have it ready in the fridge waiting for me to assemble.
- Salt and roast the eggplant.
- Make the tomato-meat sauce.
- Make the béchamel sauce.
- Assemble and bake!
STEP-BY-STEP Instructions
1. Prep the eggplant. Slice the eggplant into 1/3-inch thick discs. Sprinkle kosher salt over top of the eggplant and let sit in a colander or bowl for 20 minutes to an hour. Preheat the oven to 400°F.

Tip: Salting the eggplant will help it release its liquid, resulting in a much better texture with less bitterness. If pressed for time, you can skip this step, but I highly recommend it.
2. Roast the eggplant. Rinse the eggplant, pat dry, and brush each side with olive oil (or use spray olive oil). I don’t like to drizzle olive oil for this recipe because you want each slice to be coated evenly. Spread the slices out on a greased or parchment-lined baking sheet and roast for 20-30 minutes.

Tip: Grill the eggplant! Grill each side of the eggplant until it achieves nice, deep grill marks. Then wrap in foil for 10-15 minutes to allow it to steam and cook through.
3. Sauté aromatics and brown the meat. In a large saucepan or large skillet, sauté diced onion in olive oil over medium heat for 3-4 minutes. Add the garlic and reduce the heat to medium-low. Sauté 8-10 minutes until onions are tender. Add ground meat and brown it. Scrape up any browned bits, stirring for 10-15 minutes. Drain any fat away.
4. Make the tomato meat sauce. Add diced tomatoes, tomato paste, white wine, fresh parsley, sugar, cinnamon, kosher salt, and black pepper. Stir, cover, and let simmer over low heat for 20 minutes until you have a thick, rich tomato sauce.

5. Make béchamel sauce. Melt butter in a small saucepan. Whisk in flour and cook 2-3 minutes over medium heat, stirring often. Let the flour “cook.” Whisk in the first cup of milk a little at a time. Whisk well, then add the second cup. Continue stirring, bring to a simmer, lower the heat, and let simmer over low heat for 2 minutes. Remove from heat and add nutmeg, cheese, salt, and pepper. Let cool. Lightly beat an egg yolk in a separate bowl (don’t add it yet).
Tip: Bring the béchamel ingredients to room temperature for best results.

6. Divide the eggplant slices. Separate the eggplant slices into three stacks-a top layer, middle layer, and bottom layer. Reserve the best-looking and largest pieces for the top and bottom layers.

7. Assemble the moussaka. Grease a baking dish, then place your first layer of eggplant slices. Add half of the moussaka meat sauce. Top the with middle layer of eggplant, then add the remaining sauce. Add the top layer of eggplant.
Whisk 2-3 tablespoons of béchamel sauce into the beaten egg to temper it (this prevents curdling), then pour the egg mixture into the creamy bechamel sauce. Whisk together until smooth and thick (it should hold on the back of a spoon). Having a thick béchamel is key so that it does not seep into the layers below. Spread the béchamel sauce over the top of the dish.

If desired, sprinkle with cheese.

8. Bake the moussaka. Bake uncovered for 50-60 minutes until beautifully golden.
9. Let rest. When it is done, your house will smell heavenly. Let the Moussaka rest for 10 minutes before cutting into it so it can set up a bit.

Expert Tips:
- Always roast or grill the eggplant first. There are many recipes on how to do a quicker version-numerous ways to cut corners. And while I am all for efficiency, I have never been happy with these results regarding Moussaka. Whatever you do, please do not layer the eggplant without roasting (or grilling) it first!
- Make this in stages if pressed for time. The eggplant can be roasted or grilled ahead and refrigerated. Same with the tomato-meat sauce. Same with the béchamel! Then, just assemble and bake. Moussaka can be assembled and refrigerated up to 3 days ahead.
- Bake this ahead. The Eggplant Moussaka tastes even better the next day, so feel free to bake it ahead and reheat it before serving! It can be frozen and reheated, too.
- Salting the eggplant reduces bitterness. Yes, if you are desperate for time, you can skip the salting if necessary, but it does elevate the dish.
Troubleshooting
- My moussaka turned out watery: This usually means the eggplant didn’t drain well or the sauce wasn’t reduced enough. Salt and rest your eggplant slices for at least 20 minutes, then pat dry before roasting or grilling. Simmer the tomato meat sauce until thick and jammy.
- The béchamel separated or turned grainy: This may happen if the milk is added too quickly or the heat is too high. Add milk slowly and whisk continuously. If it separates, whisk in a splash of warm milk over low heat until smooth.
- The layers slipped when slicing: Let your moussaka rest before slicing, preferably for at least 15 minutes.
- The top didn’t brown evenly: Place it under the broiler for a minute or two.
- The béchamel was too thin or too thick. If too thin, return to low heat and whisk in a tablespoon of flour mixed with 2 tablespoons of milk. If too thick, thin with warm milk, whisking until creamy.
- The eggplant absorbed too much oil: Brush the oil lightly over top or use an olive oil spray for even coating. Eggplant acts like a sponge!
Meal Prep & Storage
- To make moussaka ahead of time: Roast the eggplant, make the tomato-meat sauce, and prepare the béchamel sauce beforehand. Store the components separately. Then, assemble the dish and bake it when ready to serve. Alternatively, you can bake the moussaka ahead and reheat it before serving. Tip: Make two batches and freeze a second one for later!
- Storage: Moussaka can be stored in the fridge for up to 4 days.
- Freezing: After baking the dish, let it cool, wrap it tightly, and freeze for up to 6 months. Thaw in the refrigerator before reheating.
- To reheat: Reheat moussaka in a 350°F oven until the internal temperature reaches 140°F, or use the microwave until warmed through.
What to serve with Moussaka?
- Simple green tossed in Greek Salad Dressing
- Warm, homemade Pita Bread
- Couscous or Cauliflower Couscous
- Baba Ganoush
Moussaka FAQs
Moussaka is a classic Mediterranean comfort food dish made with layers of roasted eggplant, ground meat (lamb, beef, or plant-based), and a cinnamon-infused tomato sauce, topped with a wobbly béchamel sauce scented with nutmeg.
Moussaka originates from the Mediterranean but is most commonly associated with Greece.
The key ingredients in moussaka include roasted eggplant, ground meat (lamb, beef, or plant-based), onions, garlic, tomato sauce, béchamel sauce, cheese (optional), olive oil, spices, herbs, salt, and black pepper.
Salting the eggplant helps draw out excess moisture and bitterness, resulting in a better texture and taste.
Moussaka can be enjoyed as a complete meal. However, if you’d like to serve it with other dishes, it pairs well with a fresh Greek salad, bread, or tzatziki.
Yes, you can omit the cheese if desired. The dish will still have wonderful flavors from the other ingredients.

If you are an eggplant lover, I promise you will love yourself for making this traditional recipe for Moussaka! So satisfying and worth the effort! Perfect for entertaining!
Have a happy, delicious week. xo
More Eggplant recipes You’ll love
How to make Moussaka! (Recipe Video)
After you try this Moussaka recipe, let us know how it turns out in the comments below. Your review will help other readers, too! Sign up here to join our community and receive our latest recipes and weekly newsletter! xoxo Sylvia
Moussaka Recipe
- Prep Time: 1 hour
- Cook Time: 2 hours
- Total Time: 3 hours
- Yield: 8 1x
- Category: main, entree, dinner recipe, dinner idea
- Method: Baked
- Cuisine: Greek
Description
An authentic, delicious recipe for Eggplant Moussaka- with a Tomato lamb sauce, and creamy béchamel sauce. Vegetarian Adaptable! Can be made ahead and baked prior to serving. See notes for VEGAN.
Ingredients
- 3 lbs Eggplant (2 extra-large or 3 eggplants)
- salt
- 3 tablespoons olive oil or spray olive oil
Tomato Meat Sauce:
- 2 tablespoons olive oil
- 1 large onion, diced
- 4 cloves garlic, rough chopped
- 2 lbs ground lamb, ground beef (or use vegetarian ground meat substitute -Gimme Lean or St Ives Meatless Ground, or use 4 cups cooked lentils). I prefer lamb.
- 1 1/2 cups diced tomatoes, with juices (or 14-ounce can, with juices)
- 3 tablespoons tomato paste
- 1/2 cup white wine (optional, sub 1/4 cup water)
- 2 teaspoons dried oregano
- 1 tsp sugar
- 1 tsp cinnamon
- 3/4 tsp kosher salt
- 1/2 teaspoon cracked pepper
- 2–3 tablespoons fresh chopped parsley
Bechamel Sauce:
- 3 tablespoons butter or olive oil
- 4 tablespoons flour
- 2 cups milk (or plant-based milk)
- 1/2 teaspoon nutmeg (use fresh grated if possible)
- 1/4 teaspoon kosher salt
- 1/8 teaspoon white pepper or finely ground black pepper
- 1/4 cup grated Parmesan, Pecorino or Kefalotiri Cheese (plus an additional 1/4 cup for the top-optional) or use vegan cheese.
- 1 egg, room temp, lightly beaten (vegans can leave this out)
Instructions
- Prep: Pre-heat oven to 400 F. Cut eggplant into ⅓- ¼ inch thick disks (no thinner), sprinkle with a little kosher salt and let sit in a colander or bowl for 20-60 minutes. Eggplant will start to release liquid (making it less bitter)
- Rinse well, pat dry and brush each side with olive oil (or use spray olive oil).
- Roast: Place on parchment lined baking sheet and roast in a 400 F oven until golden and teneder, about 20-30 minutes. Alternatively, you can grill the eggplant on each side (getting nice deep grill marks) then wrap for 10-15 minutes so it steams and cooks through.
- While eggplant is roasting – make the Tomato-Meat sauce: In a large pan, saute diced onion in oil on med-high heat for 3-4 minutes, add garlic, turn the heat down to med-low and saute for 8-10 minutes until onions are tender. Add the ground lamb (or beef or vegetarian meat), turn the heat up to medium and brown, stirring often, for about 15 minutes. Drain fat if any. Add the rest of the ingredients -diced tomatoes, tomato paste, white wine, fresh chopped parsley, sugar, cinnamon, kosher salt and pepper. Stir and cover and let simmer on med-low heat for 20 minutes. Taste, adjust salt to taste. You should have a rich, delicious, thick sauce.
- Make Bechamel Sauce: In a small sauce pan, heat the butter over medium heat. Whisk in the flour and let cook for 2-3 minutes, stirring often. Whisk in the first cup of milk a little at a time. Whisk well, and add the 2nd cup. Stirring constantly, bring to a simmer, lower heat, and let simmer on low for an additional 2 minutes. Remove from heat and add nutmeg, cheese, salt, and pepper. Set aside to cool. Lightly beat an egg in a separate bowl, but do not add it just yet.
- Assemble: Divide eggplant slices into three stacks, reserving the best-looking & largest pieces for the top and bottom layers. The others can be placed in the middle layer, which will be concealed.
- In a greased 8x 13-inch baking dish, (or 11-12-inch round) place one layer of eggplant. Add half the meat sauce. Add another layer of eggplant and the remaining meat sauce. Add the third and final layer of eggplant. Take 3 tablespoons of the warm bechamel sauce, one tablespoon at a time, and whisk it into the beaten egg, to temper the egg (basically warm up the egg gradually so it doesn’t curdle), then pour this egg mixture into the bechamel sauce, whisking until nice and smooth. Spread the bechamel sauce over the final eggplant layer.
- Bake: Sprinkle with the remaining cheese (optional) and place in a 350F oven for 50-60 minutes, uncovered until beautifully golden. Let stand 10 minutes before serving.
Notes
- Make it ahead: You can assemble this ahead and refrigerate for 2 days before baking. You can bake this ahead and reheat & serve with in 4 days. You can also freeze for 6 months after baking.
- Make in stages: An easy way to approach this is to make this in stages. For example, roast or grill the eggplant a couple of days ahead, make the tomato meat sauce the next day, make the béchamel the last day and assemble the day of baking.
- My personal preferences here are to grill the eggplant if possible and to use ground lamb (or a mix of beef and lamb). Soooo good!
- VEGAN: You can make this vegan by using plant-based meat or 4 cups of cooked lentils in the tomato sauce. In the bechamel, use olive oil, plant-based milk and vegan cheese, and skip the egg. This can be quite good Just make sure both the red sauce and white sauce are flavorful, tasting, and seasoning well (especially if using lentils). Adding a little miso paste to the red sauce can help add depth if needed. I also added some toasted walnuts to the red sauce for depth.
Nutrition
- Serving Size:
- Calories: 564
- Sugar: 12.6 g
- Sodium: 411.8 mg
- Fat: 40.7 g
- Saturated Fat: 14.1 g
- Carbohydrates: 23.5 g
- Fiber: 6.6 g
- Protein: 25.7 g
- Cholesterol: 109.2 mg



















Made this to rave reviews with the lamb and grilled eggplant. Noticed a comment about spinach and thought I’d add some as I make it again today. Thanks so much for this easy and very yummy recipe!
Thanks Val!
I made a half recipe in a 7×11 dish, thinking it was roughly half the size, but not really. 8×8 might have been better. That said, next time I would go ahead and make the whole thing as it was DELICIOUS. (Although I’d probably make way extra eggplant slices and go lighter on the bechamal.)
I made it this weekend – I only added a few more spices. It was light and just delicious.
One of my favorites!
Hi Sylvia, I have tried so many recipes for Moussaka and I have to say yours is by far the best. Thank you so much for sharing.
Very best wishes,
Alison Farrell
Thanks so much Alison!
Hi this is cooking in the oven for now, the aroma is lovely. . I tripled the Bechamal sauce. I was planning on making two, one vegetarian and one with lamb. But I forget how much the eggplant cooks down.. I made so much of the cream is there any way to store it For about a week?
Hi Amy, that is a great question- and truthfully I am not sure. I don’t know if it would freeze well? I’ve never tried? I guess it might, but dont know for sure. And it may not last a week in the fridge. You would know by the smell (you could always try I guess?).
Greetings from Australia
Fantastic recipe, I’m a pretty basic cook, but this was easy to make and everyone in the house was in raptures.
Great to hear Richard~!
Great things come to those who wait. While it definitely takes time, this was my first attempt at making moussaka and I’ll never make it any other way. Was absolutely delicious.
GLad you enjoyed Dana
While it was time consuming, we made the most of consuming one portion for dinner. Divided the batch into two square Pyrex baking dishes one for later and the other some time in the near future. Might want to try making it a non meat by substituting faux meatballs.
Cooked this with beef mince as it was all I had and it was delicious
I had an eggplant and was contemplating many of your beautiful recipes. The moussaka was delicious, and less effort without the potatoes. Thank you!
Hello:
I am in the process of making this now. What is the recommendation to re-heat if I fully cook it prior to serving. Making it in advance for guests. Thank you.
Bring to room temp, then reheat in a 350F, covered, for 25 minutes, uncovered for 5-10 minutes.
So fully cook it for 50-60 and then bring to room temp and cook again for 25-35 minutes?
Sorry I’m confused. Are you making it a day ahead, then refrigerating? That was what I was assuming. If you make a day ahead, bake it, refrigerate it, then bring to room temp before reheating the next day. If you are making it the day of serving, just time it so it’s done closer to serving time, then just keep it warm in the oven, without cooling. You could also assemble it all the day before, refrigerate, then do the full bake right before serving.
Thank you so much for the lovely recipe! I’ve added some italian herbs and vegetable stock to the mince (using only 400g lamb instead of 900g) and used a full can of diced tomatoes (400g), omitting the tomato paste but adding balsamic vinegar. Also added a stock cube to the bechamel and it came out perfect!! This is is a very effortful but oh so worthy dish! Tastes better than the moussaka I had in Greece!
Excellent. I added thinly sliced potatoes & fresh spinach, because the Greek diner I worked in made it with potatoes & I had it at another restaurant with spinach, so I tossed them between the layers of yumminess.
My mother always made it with potatoes also.
So tasty!
the best ever!
I’ve made eggplant Moussaka all my life. (I’m 80 now). My mom was Greek and she made it.
We have a vegan in the family now so plant based ‘meat’ worked.its so improved.
We’ve always fried the eggplant. Baking it was my first and I really liked it that way. Not so much oil.
I used both fresh and canned cut up tomatoes. The Bechamel came out better than ever! My neighbor wants the recipe. Thanks for improving my recipe.
Wow, Thank you that is a HUGE compliment! Thanks so much for sharing, appreciate this so much Pam. xoxo
Delicious, a new family favorite! Not as labor intense as it seems, especially if you divide it up as Sylvia suggests!
Divide and conquer!
Made this (using lamb) and it was delicious. For my taste I would double the bechamel layer, just because I think that layer was a little skimpy. Served itvti two friends and they agreed.
Thanks for your input!
Crazy good, Wow!! I entertain a family pre pre xmas dinner for extended family and always try a new recipe each year. Boy, I just made this tonight for myself thinking it was the recipe for this pre pre xmas dinner 2019. I was spot on. I halved the recipe since it was just me and just beyond thrilled with the outcome. It is worth all the pots and pans and agree that it is easily made ahead of time by a day or two. It’s hard to find an entree dish in between Thanksgiving and Chistmas that is hefty enough for a dinner party but spicy and light enough to accommodate all. I am thrilled to have this recipe and excited that you can make it stages, make ahead of time and even freeze it. It’s awesome!
THanks Linda! I really love this recipe too. Glad you like it!
Hi Sylvia, I plan on making this for company on Saturday and love that you have included ways to make it in stages.(exactly what I was looking for) I have made many of your recipes and I know this will be another delicious dish. Can you please give me some ideas of what to serve with this beautiful main dish. We are mostly gluten free and low carb for health reasons. Thanks again 🙂
I would serve with a Greek Style Salad, something light flavorful or Even this Kale Salad !
Sylvia, your recipes are some of the most delightful I’ve found to date, and this beautiful moussaka is one of your best! It’s become a regular in my rotation of recipes and is always a hit! You’d be hard-pressed to find a tastier moussaka in Greece. Kalí órexi!
Awwww… thanks! That is so sweet! Im so glad you like it and thanks for the rating and comment Nicholas!
I made this last weekend and it was so good! The leftovers were even better. I made one small tweak, I omitted the cheese and subbed in some brewers yeast flakes. This dish will definitely stay in my dinner rotation.
Glad you enjoyed!
Sylvia, I received this in my email today and made it for dinner! I am an eggplant lover! No one else in my house will eat this [I’m so happy about that!] and I made it for ME. What a delicious dinner! I’m sure it will be even BETTER tomorrow…you’re right, there were pans, but it was worth it – I am worth it!
I like this and I must say that it is a good base recipe. My take is to add some herbs like bay leaves and oregano and basil to make it more fragrant. Great idea to salt the eggplant to remove some bitterness to it.