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

two eggplants.
  • 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.

  1. Salt and roast the eggplant.
  2. Make the tomato-meat sauce.
  3. Make the béchamel sauce.
  4. 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.

fingers adding a pinch of salt to a bowl of sliced eggplant.

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.

sliced eggplant on baking sheet.

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.

cast iron skillet with tomato meat 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.

spatula in saucepan with béchamel sauce.

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.

layers of roasted eggplant slices in round dutch oven.

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.

pouring béchamel sauce over eggplant slices to make moussaka.

If desired, sprinkle with cheese.

grated cheese on top of béchamel layer to make moussaka.

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.

spatula lifting up a slice of moussaka, showing meaty interior.

Expert Tips:

  1. 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!
  2. 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.
  3. 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.
  4. 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?

Moussaka FAQs

What is moussaka?

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.

Where does Moussaka originate from?

Moussaka originates from the Mediterranean but is most commonly associated with Greece.

What are the ingredients in moussaka?

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.

What is the purpose of salting the eggplant in moussaka?

Salting the eggplant helps draw out excess moisture and bitterness, resulting in a better texture and taste.

What can I serve with moussaka?

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.

Can I make moussaka without cheese?

Yes, you can omit the cheese if desired. The dish will still have wonderful flavors from the other ingredients.

round baking dish with moussaka with golden cheesy béchamel topping.

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

Sylvia

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

Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
moussaka recipe

Moussaka Recipe

5 Stars 4 Stars 3 Stars 2 Stars 1 Star 4.9 from 114 reviews

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

Units Scale

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
  • 23 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

  1. 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)
  2. Rinse well, pat dry and brush each side with olive oil (or use spray olive oil).
  3. 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.
  4. 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. 
  5. 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.
  6. 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.
  7. 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.
  8. 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

  1. 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.
  2. 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.
  3. 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!
  4. 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

Share this with the world!

Subscribe
to get recipes via email

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star

Comments

  1. Wow! This one was so amazing! Felt like took a trip to Greece.
    I made with dried soy mince (tvp) instead of meat. My BF said he would not have guessed it was vegetarian. This is a economic option. I soaked the dried mince with soysous, oystersous, tomato pure, oil, vinegar, onion powder, garlic powder and water, to get the rich umami flavours.
    It took all afternoon to make this, but really worth it.
    Only adjustment i would do next timr is use a couple more aubergins.

  2. I made this last week. I had too much lamb and not enough eggplant! I will change the proportions next time. Makes enough for several meals!

  3. First time I’m making ground lamb in tomatoes…first time making eggplant!! I tasted eggplant after grilling yummy…normally dont like eggplant.. this recipe is delicious!! Thank you for sharing recipe and Iwill definately make this again!

  4. This was delicious! Thanks for the recipe! I saw another one that required more steps and ingredients so admittedly chose yours to minimize my effort. I’m glad it turned out great. Now I have no desire to try a more complicated recipe! Hubby and I loved it’

  5. I lost my Greek and Armenian cookbooks from my early years of marriage in a California wildfire, but had made moussaka often enough to do it well enough from memory. It had been nearly a year since I’d last made it, and now at age 79, I don’t trust my memory, so I went online to see what I could find. It seemed all the recipes did not grill (prefer) or oven roast the eggplant. Until I finally saw this, when I was already well into prep with the sauce. Yours is the ticket! There is understanding of the nature of eggplant here. We eat vegetarian often these days, so I may use your suggestion to do it that way next time. Thank you!

    1. Right but the thinner longer style will work best here- Japanese eggplant if you can find?

  6. A family favourite that’s absolutely scrumptious! Thank you so much for sharing this recipe!!!!

  7. HI, I’m confused about the amount of cheese used. The Bechamel sauce calls for 1/4 cup grated Parmesan, Pecorino or Kefalotiri Cheese. Later the recipe states to “Sprinkle with the remaining cheese and place in a 350F oven.” Please clarify the amount of cheese is each step. Sorry if I missed it1
    !?! I’m looking forward to making this for my vegetarian daughter who can no longer find it at her local restaurant! Thank you!

  8. Delicious thank you Sylvia! I did forget to drain the lamb fat. Must remember next time but otherwise it was perfect. Pinning to my favourites.

    1. Let it come to room temp, baked covered for 20-25 minutes or until warmed all the way through at 350 or 375F. If top needs more browing, remove the foil for a bit.

  9. Today is the second time making your recipe. It was so excellent the first time, about a month ago, that now I’m making it for company. We thought it got better each time we had “leftovers”, that I am making it a day ahead for this dinner for friends. I will follow the advise you gave someone else about how to reheat. Thanks so much for sharing this wonderful recipe!!

  10. I always thought that moussaka had a layer of mashed potatoes on top, in addition to the bechamel. Apparently, not authentic! I noticed someone’s comment about the Greek restaurant where she worked, adding sliced potatoes between the layers. I did this, and it’s fabulous. Great recipe. Thanks.

    1. When I had this (repeatedly) in Greece, they never had the potatoes but we were in the Southern region, during the summer. I wonder if it is a regional thing- or perhaps a seasonal thing- in the Northern regions or cooler months? It sounds good to me, but I really like how this version keeps it a bit lighter. Do as you like. 🙂

  11. I’m looking for ways to use the remaining eggplant in my garden, and this recipe looks delicious.
    If I omit the egg in the béchamel to make it vegan, will the consistency of the béchamel be too thin?
    Do you have any suggestions for an alternative to using egg?

    1. Hi Carol, you can leave the egg out. It might be a tiny bit thinner but I don’t think it will affect the dish too much. Will you use vegan cheese?

      1. I use some vegan products because of some food sensitivities that I have, but will probably use Parmesan as I can manage it in small quantities. Thanks for the advice regarding the egg in the sauce.

  12. Made this with Turkey meat and came out great. Very addicting! I needed some advice on how to freeze properly as I’ve never made something to eat for another time and I think this would be a treat to pop in the oven. Do you have a certain casserole dish with a freezer lid? Do you transfer to a freezer safe dish? Sounds silly to ask but wouldn’t want to mess this up as it does require some time preparing. Thank you so much for tips.

    1. Awesome Maureen. What if you baked in a pyrex? Then froze that? Not silly! Or freeze in smaller portions, maybe even ziplocks?

  13. Delicious!
    I grew up in the Detroit area where there are a number of Greek restaurants (‘Greek Town’ is an area in downtown Detroit). I have eaten moussaka in many of these establishments. This recipe is spot on for authentic flavor.

    I recommend that you do not cut the eggplant less than 1/2″ thick. It tends to shrink when baking so this is a good starting point. Ensure that you use enough salt to ‘sweat’ the eggplant slices effectively. Let them sit for at least 50-60 minutes to ensure they release enough of their water so your casserole is not ‘wet’. Also, make sure your meat sauce is cooked down so it is essentially crumbled meat. This will also ensure you do not end up with too much moisture in the baking dish.

  14. Absolutely delicious
    Also freezes well In individual servings
    It’s a real treat and worth the time

  15. Haven’t cooked this yet, but it seems if you’re splitting this up over multiple days, do the meat sauce first, eggplant second and bechamel day of. Like stews and soups the meat sauce should benefit from the extra day to meld and deepen the flavours.

  16. This was really nice. Used lamb and it was delicious. Gets better every day after you make it! Thank you.

    1. Same here. Labor of love. Grilling the eggplant the day before makes it easier I find!

  17. This was my first time to cook moussake and I had lots of recipes to choose from. In the end I went for this one – what a great choice! It was so delicious and thankfully enough to do us tonight again. Roasting the eggplants really worked and the bechamel sauce was amazing. Yes I will definitely cook this again and again and again!!

  18. Thank you! Still in the oven. Looking for forward to tasting it. First time I’ve made Mousaka! Whoo hoo! 🍮🍲🍜🍠🍜🍲🍮

  19. Today was the second time I made this Rustic Moussaka. The first time I used beef mince and didn’t salt the eggplant slices. The result was very nice. But today I followed the recipe to the letter and things really went to the next level. It was excellent. Thank you Sylvia,for a wonderful recipe.

Our Latest Recipes