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. Moussaka and its cousin, pastitsio, are my favorites (as in last meal requests). I think cooked lentils make an excellent vegetarian substitute for any meat you might use, and I’ve come to prefer them (I’ll credit Anna Thomas with this). These two dishes always use up all my pots and pans! So one trick I have is to make double the meat/lentil sauce. It freezes nicely and makes a second round less of an assault on my time and kitchen. And you know you are going to want this again! One thing I love about your recipe is the addition of wine, which seems to illuminate this earthy flavors.

    1. Such a great idea Andrea! Love it! I will have to do that next time.

  2. Another amazing recipe with incredible flavor! This was a huge hit as our Christmas main dish. I tend to believe that I don’t care for lamb, but it was truly perfect here. It was so convenient to be able to prep it in stages and assemble it one day in advance!

  3. Hi! This sounds fabulous! I’d like to make this for a dinner party, but one of my friends is gluten-intolerant. (Even the relatively small amount of flour is a no-no.) Do you by any chance have an idea about making this gluten-free? (If not, I’ll try this another time.) THANKS!

  4. Holy mother this was so good!! I’ve never had eggplant moussaka before. My original plan was to make the eggplant and “meat” (I used impossible meat) in the morning and then make the bechamel and bake in the evening. But I got so into it I just did it all at once. It was sooooo tasty. I served it with toasted pita for carbs and substitute havarti cheese for the Parmesan 🙂 thank you for another incredible recipe!

  5. I am Greek American and while my family made pastitsio more often than Moussaka, I love this recipe – it’s the best!
    We did used to make a meat sauce with diced eggplant in it that is wonderful over rice. I think roasting the eggplant takes it up many notches.

    I really don’t like potatoes in it, but instead often make lemon roasted Greek potatoes on the side.
    My grown kids love this dish and ask for it whenever visiting. There are a lot of steps and dirty pans, but I make it in steps over 2-3 days and it’s well worth it.
    Was wondering since I make it in several steps – would assembling everything but the bechamel addition make it too soggy?

    1. Hi Irene! I think it would be totally fine to assemble ahead. And please tell us more about your Greek potatoes!

  6. Absolutely worth the time it takes to make it. I’ve made it a few times with veggie crumbles and it always turns out perfect!

  7. This is a wonderful recipe!! I will be making it again. I used ground beef & followed the recipe with everything else. It was delicious!

  8. A bit of prep work, but soooo worth it.
    We’ve made it vegan and loved every bite!
    Thank you 🙏🏼

    1. Great to hear! What did you use instead of meat- in case others want to try this?

  9. Excellent recipe! Made it using ground Vegan “meat.” Everyone in the family loved it! Thank you Sylvia!

  10. Hi Sylvia! I was wondering if there was any way to not use flour in the bechamel sauce? I found another recipe for a flourless bechamel sauce, but it calls for heavy whipping cream and cream cheese. I was wondering if there was a way to avoid that and to use your recipe still. Thanks!

    1. Hi Kathleen, I think you could use that flour-free recipe here- just be sure to add the nutmeg.

  11. Thank for the easy to follow mousska recipe! I will encourage my wife to expand her cooking horizons. She has a dislike and minor allergy for garlic so the question is – any substitute ingredient suggestions for the garlic? Thanks!

    1. I’d just leave it out Jimmy- or try granulated garlic- some folks can tolerate that better?

  12. I made all the alterations to make this completely vegan. It was a huge smash at my dinner party. There were no leftovers. This is such a delicious dish. I will be making this several times each year.

  13. Try a little lemon in your Bechamel a la Avgolemono. It gives the dish so much more complexity. Thanks for your recipe!

  14. I cooked this once for my wife and mom, and they loved it! Thank you for making a truly wonderful recipe (with eggplant to boot)!

    I do have one question, though. I know some people mix the meat into the bechamel sauce. Do you feel like it tastes better with the beef/tomato and bechamel sauce remaining separate?

    1. Glad your family enjoyed this Paul! I personally prefer the layers, it is how I first experienced Moussaka, but maybe it is just me? You can always give it a try, cooking is so subjective and personal. Plus it is fun to experiment! 🙂

  15. I have made this several times and each time I fall in love with moussaka all over again. Thank you for yet another wonderful recipe.

  16. This came out beautifully! I will definitely make this again. I used lamb and would not change it. Highly recommend!

  17. Absolutely one of the best recipes I found on google ! Every flavour and method of cooking is perfect for full flavour. My absolute favourite.

  18. Extraordinarily flavorful. This may become in your household—as in mine — everyone’s favorite. Surprise your guests, too.
    I always make it with ground lamb and 28oz can of San Marzano peeled tomatoes. Enjoy

  19. I have tried different Moussaka recipes and this one is my very favourite. The blend of cinnamon in the meat sauce and the nutmeg in the Bechamel created the exact Green flavouring needed for this dish. I will definitely make it again.
    Awesome!!

  20. Hi Sylvia! I just finished assembling two separate dishes! I’d like to bake and eat one and bake and freeze the other for a couple weeks! What’s the best way to thaw and reheat? Excited to taste this dish with a salad and glass of wine!!

    1. I always try to thaw 24 hours in the fridge. Reheat covered at 350F, covered, then remove foil or lid.

  21. I am cooking this in stages over the next couple of days. I don’t want to mess up the flavors, so I’m wondering – will canned, diced tomatoes work, or should I buy some fresh and dice them myself? Thanks ahead of time. Really looking forward to making this for my wife!

Our Latest Recipes