I won’t pretend moussaka is a quick dinner.

There are vegetables to roast, meat sauce to simmer, and béchamel to whisk before everything finally goes into the oven. But once that golden pan comes out, it’s easy to see why people bother.
This Greek moussaka has layers of roasted potatoes, eggplant, and zucchini, followed by a rich meat sauce and a thick blanket of cheesy béchamel. The cinnamon and nutmeg give the sauce its familiar Greek flavor without making it taste sweet.
It’s a good recipe for a Sunday dinner or any day when you have time to cook without watching the clock. You can also make it ahead, which may be the easiest way to get moussaka on the table without spending the whole afternoon in the kitchen.
Ingredients You’ll Need

For the Vegetable Layers
- 2 large eggplants, sliced into ¼-inch (6 mm) rounds
- 2 medium potatoes, peeled and thinly sliced
- 2 medium zucchini, sliced
- ¼ cup olive oil, divided
- 1 teaspoon salt
- ½ teaspoon black pepper
- ½ cup grated Parmesan or Kefalograviera cheese
For the Meat Sauce
- 2 tablespoons olive oil
- 1 large red onion, finely chopped
- 3 garlic cloves, minced
- 2 pounds (900 g) ground beef or lamb
- ½ cup red wine
- 1 can (14–15 ounces or 400 g) crushed tomatoes
- 2 tablespoons tomato paste
- 1 teaspoon salt
- ½ teaspoon white or black pepper
- 1 teaspoon ground cinnamon
- ¼ teaspoon ground nutmeg
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme
- 2 bay leaves
- 2 tablespoons chopped fresh parsley
For the Béchamel Sauce
- 6 tablespoons unsalted butter
- ½ cup all-purpose flour
- 4 cups whole milk, warmed
- 2 egg yolks
- ½ teaspoon salt
- ¼ teaspoon ground nutmeg
- ¾ cup grated Parmesan or Kefalograviera cheese
How to Make Greek Moussaka

1. Roast the Vegetables
Preheat the oven to 400°F (205°C).
Arrange the eggplant, potato, and zucchini slices in a single layer on baking sheets. Brush them lightly with olive oil and season with salt and pepper.
Roast for 20–25 minutes, turning the slices halfway through. They should be tender and lightly golden, but they don’t need to be deeply browned. Set them aside while you make the meat sauce.
You may need to roast the vegetables in batches if your baking sheets are small. Crowding them will make them steam instead of brown.
2. Make the Meat Sauce
Heat 2 tablespoons of olive oil in a large pan over medium heat. Add the chopped onion and cook for about 5 minutes, until soft. Stir in the garlic and cook for another 30 seconds.
Add the ground beef or lamb. Break it into small pieces with a wooden spoon and cook until browned.
Pour in the red wine and let it simmer until most of the liquid has cooked away. Add the crushed tomatoes, tomato paste, cinnamon, nutmeg, oregano, thyme, bay leaves, parsley, salt, and pepper.
Simmer uncovered for 15–20 minutes. The finished sauce should be thick rather than watery, or the moussaka may be difficult to slice. Remove the bay leaves before assembling the casserole.

3. Prepare the Béchamel
Melt the butter in a saucepan over medium heat. Add the flour and whisk for 1 minute.
Gradually pour in the warm milk, whisking constantly to prevent lumps. Continue cooking and stirring until the sauce thickens.
Remove the pan from the heat. Whisk in the egg yolks, salt, nutmeg, and grated cheese until the sauce is smooth.
Add the yolks after taking the pan off the heat so they blend into the sauce without scrambling.
4. Assemble the Moussaka
Reduce the oven temperature to 350°F (175°C). Lightly grease a 9 × 13-inch baking dish.
Arrange the roasted potatoes across the bottom and sprinkle them lightly with cheese. Add a layer of eggplant, followed by a layer of zucchini.
Spread the meat sauce evenly over the vegetables. Add the remaining eggplant slices, then pour the béchamel over the top. Smooth it into an even layer with a spatula.
5. Bake and Rest
Bake uncovered for 40–45 minutes, until the top is golden and bubbling.
Now comes the difficult part: don’t cut it right away. Let the moussaka rest for at least 30 minutes. This gives the layers time to settle so you get proper slices instead of a delicious pile on the plate.

Should You Salt the Eggplant First?
You don’t have to salt modern eggplants to remove bitterness, but salting can still draw out some moisture and improve the finished texture.
Sprinkle the raw eggplant slices with salt and leave them for about 30 minutes. Pat them dry with paper towels before brushing with oil and roasting. If you do this, use a lighter hand when seasoning the vegetables later.
Tips for Making Moussaka
Slice the vegetables as evenly as possible so they cook at the same rate. A mandoline makes quick work of the potatoes, but a sharp knife is fine too.
Keep the meat sauce thick. If it still looks watery after 20 minutes, let it simmer a little longer before assembling the dish.
Warm the milk before adding it to the butter and flour. It blends more easily and helps keep the béchamel smooth.
Most importantly, give the moussaka its full resting time. Thirty minutes may feel long when dinner is sitting on the counter, but it makes a big difference when you cut into it.

Can You Make Moussaka Ahead of Time?
Yes. You can assemble the moussaka earlier in the day, cover it, and refrigerate it until you’re ready to bake. Let the dish sit out briefly while the oven heats, especially if you’re using a glass baking dish.
You can also bake it a day ahead and reheat it. In fact, the layers often slice even more neatly the next day.
How to Store Leftovers
Let the moussaka cool, then cover the baking dish or transfer individual portions to an airtight container. Store it in the refrigerator for up to 3 days.
Reheat it in the oven until hot in the center. Smaller portions can also be reheated in the microwave.
Vegetarian Moussaka Variation
For a meat-free version, replace the beef or lamb sauce with a thick lentil or mushroom ragu. Keep the tomato sauce rich and reduce it well so the vegetable layers don’t become watery.
Greek Moussaka Recipe
Prep time: About 45 minutes
Cook time: About 50 minutes
Resting time: 30 minutes
Total time: About 2 hours 5 minutes
Servings: 6–8
Ingredients
Vegetable Layers
- 2 large eggplants, sliced into ¼-inch (6 mm) rounds
- 2 medium potatoes, peeled and thinly sliced
- 2 medium zucchini, sliced
- ¼ cup olive oil, divided
- 1 teaspoon salt
- ½ teaspoon black pepper
- ½ cup grated Parmesan or Kefalograviera cheese
Meat Sauce
- 2 tablespoons olive oil
- 1 large red onion, finely chopped
- 3 garlic cloves, minced
- 2 pounds (900 g) ground beef or lamb
- ½ cup red wine
- 1 can (14–15 ounces or 400 g) crushed tomatoes
- 2 tablespoons tomato paste
- 1 teaspoon salt
- ½ teaspoon white or black pepper
- 1 teaspoon ground cinnamon
- ¼ teaspoon ground nutmeg
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme
- 2 bay leaves
- 2 tablespoons chopped fresh parsley
Béchamel Sauce
- 6 tablespoons unsalted butter
- ½ cup all-purpose flour
- 4 cups whole milk, warmed
- 2 egg yolks
- ½ teaspoon salt
- ¼ teaspoon ground nutmeg
- ¾ cup grated Parmesan or Kefalograviera cheese
Instructions
- Preheat the oven to 400°F (205°C).
- Arrange the eggplant, potatoes, and zucchini on baking sheets. Brush with olive oil and season with salt and pepper.
- Roast for 20–25 minutes, turning halfway through. Set aside.
- Heat 2 tablespoons of olive oil in a large pan. Cook the onion for about 5 minutes, then add the garlic and cook for 30 seconds.
- Add the ground meat and cook until browned, breaking it into small pieces.
- Pour in the red wine and simmer until most of the liquid has reduced.
- Stir in the crushed tomatoes, tomato paste, herbs, spices, parsley, salt, and pepper. Simmer uncovered for 15–20 minutes until thick. Remove the bay leaves.
- For the béchamel, melt the butter in a saucepan. Whisk in the flour and cook for 1 minute.
- Gradually add the warm milk while whisking. Cook until thickened.
- Remove from the heat and whisk in the egg yolks, salt, nutmeg, and cheese.
- Reduce the oven temperature to 350°F (175°C) and grease a 9 × 13-inch baking dish.
- Layer the potatoes in the bottom and sprinkle lightly with cheese. Add a layer of eggplant and then zucchini.
- Spread the meat sauce over the vegetables. Add the remaining eggplant and cover with the béchamel.
- Bake uncovered for 40–45 minutes, until golden and bubbling.
- Rest for at least 30 minutes before slicing.
Notes
For a more traditional texture, salt the raw eggplant and leave it for 30 minutes before roasting. Pat it dry with paper towels first.
Store leftovers in an airtight container in the refrigerator for up to 3 days.