My Ultimate Greek Moussaka
This post may contain affiliate links. Please read my disclosure policy.
Moussaka – rich layers of tender potatoes, smoky roasted eggplant, savory spiced beef, all crowned with creamy golden bechamel. Not a quick dinner, but worth every glorious bite.

My Ultimate Moussaka: 20 Years in the Making!
Moussaka is one of those dishes I’ve had a delicious love affair with for nearly two decades now. Ever since my first bite at a cozy little Greek restaurant ages ago, I’ve ordered it everywhere Remo and I go. Call it research, obsession, or just plain hunger, but after years of tasting countless versions, tinkering in my own kitchen, and perfecting my recipe, I’ve finally landed on this keeper.
Now, I’m not saying this is exactly how your Greek grandma makes it. She might insist on lamb instead of beef, fried eggplant over roasted, or raise an eyebrow at my generous potato layers. But that’s the beauty of a classic: everyone has their spin. What I can promise you is that this moussaka is rich, hearty, and deeply comforting. It’s one of those dishes that tastes even better when you make it yourself, and believe me, your family (and your stretchy pants) will thank you for it.

Why You’ll Love This Moussaka
- Two decades of tweaking: I’ve been making moussaka for 20 years and this version is as close to perfect as it gets.
- Layers worth bragging about: Roasted potatoes, smoky eggplant, spiced beef, and that creamy bechamel crown. Every bite is pure comfort.
- Make ahead friendly: Tastes even better the next day, slices beautifully, and reheats like a dream.
- Feeds a crowd (or future you): Big casserole, generous portions, and leftovers that never feel like leftovers.
- Restaurant flavor at home: Skip the $20 slice and make it from scratch. Way more satisfying and your house smells incredible.
This recipe isn’t complicated, but it does have layers, literally and figuratively. Put on a good playlist, grab a glass of wine, and let’s do this step by step.

Toss sliced potatoes and red onion with olive oil, oregano, thyme, salt, and pepper. Spread them in your 9×13-inch baking dish and roast at 400°F (200°C) for about 20 minutes until they soften and turn golden around the edges. This is your base layer and sets you up for maximum flavor later.

Lay your eggplant slices on paper towels and sprinkle generously with salt on both sides. Let them sit for about 10 minutes per side, then blot with fresh paper towels to remove moisture. This keeps them from turning bitter or making the dish watery.

Arrange the eggplant slices over the roasted potatoes, drizzle with a little olive oil, season with oregano and thyme, and roast for another 20 minutes. By now your kitchen should smell amazing.

Layer sliced zucchini on top of the eggplant, drizzle with olive oil, season again, and roast another 20 minutes. This triple roast method keeps every layer distinct and full of flavor instead of turning into veggie mush.

In a skillet, heat olive oil and cook chopped onion until softened, then add garlic for about 30 seconds. Add ground beef, breaking it up with a spoon until browned. Season with salt, pepper, allspice, Italian seasoning, and tomato paste. Stir in diced tomatoes and simmer until the sauce is thick and rich, about 10 minutes. It should be spoonable, not runny.


Melt butter in a saucepan, whisk in flour, then gradually add milk in portions, whisking constantly until smooth. Season with salt, pepper, and nutmeg. Remove from heat, whisk in egg yolks, then stir in Parmesan until melted and glossy. Do not skip the constant whisking. This is where creamy dreams are made.

Stir a little bechamel into the meat sauce to help it hold together. Spread the meat mixture evenly over the roasted veggies, then pour the remaining bechamel on top. Smooth it out like frosting on the world’s best savory cake.

Bake at 400°F (200°C) for about 30 minutes until the top is golden and bubbling. The hardest part? Waiting. Let it rest for at least one hour so it slices cleanly and holds its layers. It’s worth it.
Jo’s Tip:
Don’t even think about slicing into this straight from the oven. Let it cool for at least an hour or you’ll end up with casserole carnage. Moussaka needs a minute (or sixty) to pull itself together, just like the rest of us.
How To Serve It
Moussaka is rich, hearty, and the star of the table, so you don’t need a ton of extras. A few simple sides are all you need to round out the meal:
Greek Salad
Homemade Tzatziki Sauce
No Knead Bread
Greek Potatoes

Frequently Asked Questions
Can I make moussaka ahead of time?
Yes, and it’s actually better that way. Assemble the entire casserole, cover it tightly, and refrigerate for up to 24 hours. Bake straight from the fridge, adding 10 to 15 minutes to the bake time.
Can I freeze moussaka?
Absolutely. You can freeze it before baking or after. For unbaked, wrap the dish tightly and freeze up to 2 months. Bake from frozen, covered, adding about 30 extra minutes. For baked leftovers, cool completely, portion into slices, and freeze individually. Reheat in the oven until warmed through.
Do I really need to let it rest for an hour?
Yes. Yes. A thousand times, yes. Because hot-from-the-oven moussaka is delicious chaos. Resting lets the layers set, so you get those neat, photo-worthy slices instead of a cheesy pile of delicious mush. Aim for at least one hour of resting.
Why did my moussaka turn out watery?
Most likely the veggies weren’t roasted enough or the eggplant wasn’t salted. Both steps pull out extra moisture so your layers stay distinct. Also make sure the meat sauce is thick before assembling, if it looks runny in the pan, simmer longer.
Why is my bechamel lumpy or grainy?
Two culprits: adding milk too quickly or not whisking constantly. Add the milk gradually in stages, whisking between each pour. If lumps happen, don’t panic, blend the sauce with an immersion blender to smooth it out before adding egg yolks and cheese.
The top of my moussaka browned too quickly. What should I do?
Your oven runs hot or the rack is too high. Next time, bake in the middle of the oven and check at 20 minutes. If it’s already golden, loosely tent with foil and finish baking.

Try These Delicious Greek Recipes Next
- Greek Meatballs
- Greek Salad
- One Pot Greek Chicken Orzo
- Greek Lamb Burgers
- Spanakopita
- Pastitsio (Greek Lasagna)
Before You Begin! If you make this, please leave a review and rating letting us know how you liked this recipe! This helps our business thrive & continue providing free recipes.

Moussaka Recipe
Video
Ingredients
Potato Layer
- 4 medium potatoes (peeled, sliced into ¼ inch slices)
- 1 medium red onion (sliced)
- 2 tablespoons olive oil
- ¼ teaspoon salt (or to taste)
- ⅛ teaspoon pepper (or to taste)
- ½ teaspoon dried thyme
- 1 teaspoon dried oregano
Eggplant Layer
- 1 large eggplant (cut into ¼ inch slices)
- ¼ teaspoon salt (or to taste)
- ⅛ teaspoon pepper (or to taste)
- 2 tablespoons olive oil
- ½ teaspoon dried thyme
- 1 teaspoon dried oregano
Zucchini Layer
- 1 large zucchini (sliced into ¼ inch slices)
- ¼ teaspoon salt (or to taste)
- ⅛ teaspoon pepper (or to taste)
- 2 tablespoons olive oil
- ½ teaspoon dried thyme
- 1 teaspoon dried oregano
Meat Layer
- 1 tablespoon olive oil
- 1 medium red onion (chopped)
- 2 cloves garlic (minced)
- 1 pound ground beef
- ¼ teaspoon salt (or to taste)
- ⅛ teaspoon pepper (or to taste)
- 1 teaspoon allspice
- ½ tablespoons Italian seasoning
- 1 tablespoons tomato paste
- 15 ounces diced tomatoes (1 can)
Bechamel Layer
- 8 tablespoons unsalted butter (1 stick)
- ¾ cup all-purpose flour
- 3 cups milk
- ¼ teaspoon pepper
- ¼ teaspoon nutmeg
- 3 egg yolks
- ¾ cup Parmesan cheese (grated)
Before You Begin! If you make this, please leave a review and rating letting us know how you liked this recipe! This helps our business thrive & continue providing free recipes.
Instructions
- Preheat oven to 400°F.
- Begin by combining the sliced potatoes and red onion with olive oil, salt, pepper, thyme, and oregano in a medium-sized bowl.
- Spread them in a single layer on the bottom of a 9×13 inch baking pan. Bake for 20 minutes until they begin to soften and turn golden.
- As the potatoes bake, prepare the eggplant slices by setting them on paper towels and sprinkling salt on each slice. Allow them to rest for approximately 10 minutes, then turn them over and add more salt. After another 10 minutes, use paper towels to absorb any excess moisture on the eggplant.
- Arrange the eggplant slices in a single layer on top of the potatoes. Drizzle olive oil over the slices, and season with salt and pepper. Next, sprinkle thyme and oregano on top. Return the pan to the oven and continue baking for an additional 20 minutes.
- Layer the zucchini slices evenly over the eggplant, forming a single layer. Drizzle with olive oil, season with salt and pepper, and then sprinkle thyme and oregano on top. Bake for an additional 20 minutes.
- While waiting, begin preparing the meat. In a large skillet, warm the olive oil over medium-high heat. Sauté the onion until it becomes soft, which should take around 3 minutes. Then, add the garlic and cook for approximately 30 seconds, or until you can smell its aroma.
- Incorporate the ground meat into the skillet, using a wooden spoon to break it into small pieces. Cook until it loses its pink color, which should take around 5 minutes. Season the meat with salt and pepper. Mix in the allspice, Italian seasoning, and tomato paste thoroughly. Add the chopped tomatoes and cook for another 5 minutes, stirring now and then, until most of the liquid has evaporated. Set the mixture aside.
- To prepare the bechamel sauce, melt the butter in a saucepan over medium heat. Once the butter has melted, whisk in the flour until it is completely combined with the butter. Gradually add the milk in four portions, whisking continuously. After each portion, ensure the liquid is fully absorbed by the flour mixture before adding the next.
- As the sauce begins to bubble, it is ready for the addition of pepper and nutmeg. Whisk in the egg yolks thoroughly, then stir in the Parmesan cheese. Allow the sauce to reach a boil once more before removing it from the heat.
- Add about ¼ of this sauce to the meat mixture and stir.
- Spread the meat filling over the vegetable layers, then pour the bechamel sauce over the meat and smooth it out with a spatula or spoon.
- Bake for another 30 minutes or until the top is golden brown.
- Remove from the oven and allow it to cool at least 1 hour before cutting it into pieces.
- Garnish with parsley if preferred before serving.
Notes
- Vegetables: Slice everything about ¼ inch thick for even layering and cooking. Don’t skip roasting the veggies, it adds flavor and prevents a watery casserole.
- Eggplant Salting: Salting helps reduce bitterness and moisture. Let the slices sit for 10–15 minutes per side, then blot dry before roasting.
- Bechamel Tips: Add milk slowly, whisk constantly, and never leave it unattended. Add the egg yolks off the heat to avoid scrambling, and stir in the parmesan last for max melt.
- Make Ahead: Assemble fully and refrigerate up to 24 hours ahead. Let sit at room temperature 30 minutes before baking.
- Freezing: Freeze baked or unbaked moussaka. Wrap tightly, label it, and freeze up to 2 months. Bake from frozen, covered for the first 30 minutes, then uncover to brown.
- Leftovers: Cool completely, then refrigerate for up to 4 days. Reheat individual slices in the oven for best texture.
Nutrition Information
Notice: Nutrition is auto-calculated for your convenience. Where relevant, we recommend using your own nutrition calculations.

