Learn to make moussaka, with layers of tender roasted eggplant, fragrant meat sauce, and creamy Greek bechamel. This traditional Greek moussaka recipe is easier to put together than you may think!

Moussaka (pronounced moo-sa-ka’a) is a sublime Greek eggplant casserole with hints of cinnamon, nutmeg, oregano, and paprika. Rich and fragrant, it’s the best kind of comfort food. No wonder it’s one of Greece’s most famous dishes!
I grew up with Egyptian moussaka, where we swap the bechamel topping for pine nuts. I’ve since spent many summers in Greece where I’ve learned to make moussaka the Greek way. This recipe, which I’ve perfected over the years, keeps the decadent Greek bechamel but with extra virgin olive oil in place of butter. This lends a flavorful and lighter finish that’s every bit as comforting.
Moussaka is not difficult to make, but it is a bit time-consuming. The good news is that the flavors only get better with time, making it an exceptional make-ahead recipe! It’s an ideal centerpiece for gatherings or holidays, and your friends and family will request it again and again.
Table of Contents
What is in Moussaka? Ingredients and Substitutions
There are variations of moussaka throughout Greece and beyond, with some traditional recipes using potatoes or even zucchini squash. I like to keep it simple to let the velvety eggplant shine. You’ll need:
- Eggplants: You can use potatoes instead of eggplants in moussaka, or use them both! Opt for starchy potatoes like russet or Idaho and slice them into 1/4-inch rounds. Drizzle the potatoes with olive oil, season with salt, and bake at 350°F for 20 minutes or until tender.
- Seasoning: Oregano, cinnamon, nutmeg, and paprika bring a warming Greek flavor (don’t forget to stock up at our spice shop!). Kosher salt and black pepper perk everything up, and sugar balances the tomato’s acidity.
- Extra virgin olive oil: I love a rich, decadent Greek olive oil with this recipe, but use any high-quality extra virgin variety you have.
- Breadcrumbs: Add a good crunch to balance the creamy bechamel. Feel free to use gluten-free.
- Yellow onion: Substitute with 3-5 shallots, red onion, or white onion.
- Meat: Ground lamb or beef both work well. For a meatless option, check out my vegetarian moussaka recipe.
- Red wine: Adds depth of flavor and richness to the meat sauce. It doesn’t need to be fancy, but a pleasantly dry bottle is best. If you avoid alcohol, swap this with more beef broth and perhaps a squeeze of lemon.
- Canned tomatoes: Diced tomatoes are easiest, or process a can of whole tomatoes until chunky.
- Beef broth: Opt for a quality low-sodium variety. Chicken stock works as a substitute in a pinch.
- All purpose flour: Used to thicken the bechamel sauce (swap with the same amount of gluten-free flour if you’d like).
- Milk: I prefer to lighten things a bit with 2 percent milk, but you can use whole milk if you’d like (it’s more traditional).
- Eggs: Not only do eggs add richness and flavor to the bechamel, they also help that beautiful top layer keep its shape when it’s sliced. In fact, the addition of eggs is what makes it a Greek bechamel sauce!
How to Make Moussaka
Feel free to prep the eggplant, meat sauce, and bechamel a few days ahead, then store them in tightly sealed containers in your refrigerator. Layer and bake the day you plan to serve, then serve warm or at room temperature. Here are the steps:
- Prep the eggplant. Trim off the ends of 2 large eggplants, then slice into 1/4-thick slabs. (Discard the outermost slices that are mostly skin.) Spread the slices in one layer and sprinkle with salt. Let set for 30 minutes to “sweat out” its bitterness.
- Meanwhile, start the meat sauce. In a small saucepot, heat 1/2 cup beef broth over medium-low. In a separate large skillet over medium, heat 2 tablespoons olive oil. Add 1 finely chopped onion to the shimmering oil and stir regularly until it’s slightly golden brown, about 5 minutes. Now add 1 pound ground lamb or beef and toss regularly until fully browned. Pour off any excess fat, then return the skillet to medium heat.
- Season the meat sauce. Stir in 1 tablespoon dried oregano, 1 teaspoon cinnamon, and 1/2 teaspoon each black pepper, nutmeg, and paprika. Add 1/2 cup red wine and boil for 1 minute to reduce, then stir in 1 (14-ounce) can of diced tomatoes, 1 teaspoon sugar, and the hot broth. Simmer over medium-low heat until rich and fragrant, 20 to 30 minutes.
- While the meat sauce simmers, get ready to broil the eggplant. Turn the broiler of your oven to high. Brush a large sheet pan with extra virgin olive oil. Pat the eggplant slices dry, removing excess salt, and assemble in one layer on the prepared pan (work in batches or use 2 pans if necessary to avoid overlapping). Brush the eggplant generously with olive oil on both sides.
- Broil the eggplant. Place the sheet pan about 6 inches away from the broiler. Broil the eggplant briefly, turning over so that both sides are softened and golden brown (do not worry if parts of the eggplant are slightly charred, but watch carefully so it doesn’t burn). Remove from the oven and set aside.
- Get ready to bake. Turn off the broiler and preheat your oven to 350°F. Lightly oil a 9 x 13-inch oven-safe baking dish.
- Make the bechamel. In a small saucepot, set 4 cups of 2 percent milk over medium-low heat to warm. In a separate large saucepan, set over medium-high heat, add 1/3 cup + 2 tablespoons extra virgin olive oil. Once the oil begins to shimmer but not smoke. Stir 2/3 cup flour into the oil, along with 1/2 teaspoon salt and a pinch of black pepper. Stir continuously until golden (if needed, added a little more olive oil). Gradually add the warmed milk, whisking continuously. Continue to cook, stirring occasionally, over medium heat until thickened enough to coat the back of a wooden spoon, 5 to 7 minutes. Season with 1/4 teaspoon ground nutmeg.
- Finish the Greek bechamel. Add 2 eggs to a small bowl. Whisk in a ladleful of the hot bechamel mixture to temper, then slowly whisk the egg mixture back into the bechamel. Continue to stir or whisk the mixture, bringing it to a gentle boil for 2 more minutes. Taste and adjust the seasoning. Remove from the heat and allow to cool and thicken a little more. You should have a creamy, thick, and smooth bechamel sauce.
- Assemble the moussaka. Layer half the eggplant slices on the bottom. Add the meat sauce and spread well, then top with the remaining eggplant slices. Pour the bechamel on top and spread to cover all the eggplant, then sprinkle with 1/4 cup breadcrumbs.
- Bake. Bake the moussaka casserole on the center rack of the heated oven for 45 minutes. If desired, transfer the baking pan to the top rack and broil briefly so the top of the moussaka gains a nice golden brown color (watch carefully).
- Slice and serve. Remove from the heat and let the casserole sit for 10 minutes (this will help it hold its shape and juices). Slice into squares to serve. Enjoy!
Storage and Reheating
Store moussaka in an airtight container in the refrigerator for up to 5 days. Reheat on the center rack of an oven heated to 350°F for about 25 to 30 minutes.
How to Freeze Moussaka
- Whole: Allow to cool before covering snugly with plastic wrap and then wrapping it in foil. Freeze for up to 3 months.
- Individual squares: Arrange the squares on a parchment-lined sheet pan, leaving a little space around each slice so they don’t freeze together. Place in the freezer for a few hours until the moussaka is frozen solid, then transfer to freezer-safe containers and freeze for up to 3 months.
- To reheat frozen moussaka, thaw slices in the fridge overnight before reheating at 350°F for about 25 to 30 minutes.
What to Serve with Moussaka
Moussaka is a complete meal, but it does go well with something light and fresh for balance. A simple side salad like Horiatiki (Greek Salad) would be perfect. And for a full Greek feast, finish with baklava or melomakarona, a cookie scented with orange and cinnamon.
More Eggplant Recipes
Browse all Mediterranean recipes.
Visit Our Shop.
Moussaka (Greek Eggplant Casserole)
Ingredients
For the eggplant
- 2 large globe eggplants
- Kosher salt
- Extra virgin olive oil
- 1/4 cup breadcrumbs
For the meat sauce
- 1 large yellow onion, finely chopped
- 1 pound ground lamb or beef
- 1 tablespoon dried oregano
- 1 teaspoon ground cinnamon
- 1/2 teaspoon black pepper
- 1/2 teaspoon ground nutmeg
- 1/2 teaspoon paprika
- 1/2 cup red wine
- 1 (14 ounce) can diced tomatoes
- 1 teaspoon sugar
- 1/2 cup beef broth, warmed until simmering
For the bechamel
- 1/3 cup + 2 tablespoons extra virgin olive oil
- 2/3 cup all purpose flour
- 1/2 teaspoon salt, plus more to taste
- Black pepper, to taste
- 4 cups 2% milk, warmed
- 1/4 teaspoon ground nutmeg
- 2 large eggs
Instructions
- Prep the eggplant. Trim off the ends of the eggplant, then slice into 1/4-thick slabs. (Discard the outermost slices that are mostly skin.) Spread the eggplant in one layer and sprinkle with salt. Let set for 30 minutes to "sweat out" its bitterness.
- Meanwhile, start the meat sauce. Heat 2 tablespoons olive oil in a large skillet over medium heat. Add the onion and stir regularly until its slightly golden brown, about 5 minutes. Now add the ground lamb or beef and toss regularly until fully browned. Pour off any excess fat, then return the skillet to medium heat.
- Season the meat sauce. Stir in the dried oregano, cinnamon, pepper, nutmeg, and paprika. Add the wine and boil for 1 minute to reduce, then stir in the canned tomatoes, sugar, and hot beef broth. Simmer over medium-low heat until rich and fragrant, 20 to 30 minutes.
- While the meat sauce simmers, get ready to broil the eggplant. Turn the broiler of your oven to high. Brush a large sheet pan with extra virgin olive oil. Pat the eggplant slices dry, removing excess salt, and assemble in one layer on the prepared pan (work in batches or use 2 pans if necessary to avoid overlapping.) Brush or coat the eggplant generously with olive oil on both sides.
- Broil the eggplant. Place the sheet pan about 6 inches away from the broiler. Broil the eggplant briefly, turning over so that both sides are softened and golden brown (do not worry if parts of the eggplant are slightly charred, but watch carefully so it doesn't burn). Remove from the oven and set aside.
- Get ready to bake. Turn off the broiler and preheat your oven to 350°F. Lightly oil a 9 1/2" x 13" oven-safe baking dish.
- Make the bechamel. In a large saucepan, heat the olive oil over medium-high heat until shimmering but not smoking. Stir in the flour, salt, and grind/pinch of black pepper. Cook, stirring continuously, until golden (if needed, added a little more olive oil). Gradually add the warmed milk, whisking continuously. Continue to cook, stirring occasionally, over medium heat until thickened enough to coat the back of a wooden spoon, 5 to 7 minutes. Season with the nutmeg.
- Finish the Greek bechamel. Add the eggs to a small bowl. Whisk in a ladleful of the hot bechamel mixture to temper, then slowly whisk the egg mixture back into the bechamel. Continue to stir or whisk the mixture bringing to a gentle boil for just 2 more minutes. Taste and adjust the seasoning. Remove from the heat and allow to cool and thicken a little more. You should have a creamy, thick and smooth bechamel sauce.
- Assemble the moussaka. Layer half the eggplant slices on the bottom. Add the meat sauce and spread well, then top with the remaining eggplant slices. Pour the bechamel on top and spread to cover all the eggplant, then sprinkle with the breadcrumbs.
- Bake. Bake the moussaka casserole on the center rack of the heated oven for 45 minutes. If desired, transfer the baking pan to the top rack and broil briefly so that the top of the moussaka gains a nice golden brown color (watch carefully).
- Slice and serve. Remove from the heat and let the casserole sit for 10 minutes (this will help it hold its shape and juices). Slice into squares to serve. Enjoy!
Video
Notes
- Shop this recipe: Visit our shop to browse quality Mediterranean ingredients, including the olive oil and spices used in this recipe.
- Make ahead tips: You can prepare and broil the eggplant and meat sauce a day or two in advance. The bechamel sauce can also be made a few days ahead (it can hold texture for about 1 week, although you should count some days for leftovers). Keep each component in the fridge in separate tightly-closed containers. If the bechamel thickens too much, you may need to reheat it gently before using over low heat, adding a little more milk and whisking to make sure the mixture isn’t lumpy.
- Storage: Cool completely, then cover with plastic wrap and store for 5 days in your refrigerator. Or, once it cools, simply cut the moussaka into pieces and freeze (you can store the pieces in separate freezer-safe containers or wrapped tightly with parchment then foil. This way, you can reheat individual slices at a time.)
- Potatoes? Yes, you can use potato instead of eggplant in moussaka, or use them both! Opt for starchy potatoes like russet or Idaho and slice into 1/4-inch rounds. Drizzle the potatoes with olive oil, season with salt, and bake at 350°F for 20 minutes or until tender.
Nutrition
The Mediterranean Diet Starter Kit
The vibrant pantry essentials you need to start cooking the Mediterranean way.
*This post has been recently updated with new information for readers’ benefit.
In the photo it looks like there is something in between the bechamel and the breadcrumbs? What is that? Looks like pasta! Thank you.
Hi, Luna. There isn’t anything in between the bachamel and the breadcrumbs. It must just be the camera angle making it look like something else is there.
This was delicious – loved the bechemel sauce with eggs. The proportions were perfect, too. I did change some of the seasonings to Italian and added diced bell pepper to the meat sauce. Thank you for sharing your recipe.
Love this recipe! We hosted dinner tonight with this as the main course and received rave compliments. DELICIOUS!