If you think lasagna is the ultimate comfort food, wait until you try Greek moussaka. At first glance they seem similar — hearty layers baked until golden — but moussaka takes things further. Instead of pasta, you get tender, buttery potatoes that soak up all the juices. Instead of just meat and tomato, you get smoky beef and bacon, seasoned with cinnamon and fresh herbs, layered with sweet roasted eggplant and zucchini. And on top? A creamy, cheesy Pecorino béchamel that’s lighter and silkier than lasagna’s mozzarella.
This recipe leans on traditional Greek recipe but adds a few thoughtful touches: a little bacon for depth, fresh dill for brightness, and the choice to fry or roast the vegetables. It’s not fast food — but it’s the kind of dish you’ll want to sit down with and savor, bite by bite.
Ingredients
For the meat layer:
-
1 tbsp olive oil (optional, if bacon is lean)
-
5 oz thick-cut bacon, diced (150 g)
-
1 large white onion, finely diced
-
2 cloves garlic, minced
-
1½ lbs lean ground beef (750 g)
-
½ cup dry red wine (120 ml)
-
2 heaping tbsp tomato paste
-
1 beef stock cube
-
1 cup tomato passata or strained tomatoes (240 ml)
-
¾ tsp salt (or to taste)
-
¼ tsp black pepper
-
¼ tsp ground cinnamon
-
Optional: 1 tsp dried oregano
-
¼ cup fresh parsley, chopped
-
1 tbsp fresh dill, chopped
-
2–3 bay leaves
For the béchamel:
-
½ cup unsalted butter (1 stick / 120 g)
-
½ cup all-purpose flour (60 g)
-
4 cups whole milk, room temperature (1 liter)
-
½ tsp salt
-
¼ tsp white pepper
-
Pinch of grated nutmeg
-
¾ cup finely grated Pecorino Romano or Greek Kefalotyri (60 g)
-
2 egg yolks
For the vegetable layers:
-
2 large russet potatoes, peeled and sliced into ¼” rounds (about 1½ lbs / 750 g)
-
3 small eggplants, sliced lengthwise into ⅓” strips (about 2 lbs / 1 kg)
-
2 medium zucchini, sliced lengthwise into ⅓” strips (about 1 lb / 500 g)
-
Olive oil or neutral oil, for roasting or frying
-
Salt & pepper, to taste
-
Extra parsley & Pecorino, for sprinkling
Instructions
1️⃣ Prep the vegetables
Lay the eggplant and zucchini slices on paper towels, sprinkle lightly with salt, and let them sit for about 20 minutes to draw out moisture. Pat them dry — this step helps prevent soggy layers later.
You can roast or fry the vegetables.
— To roast: brush the slices with oil and bake at 400°F (200°C) for 15–20 minutes, flipping halfway, until golden and tender.
— To fry (traditional): heat vegetable oil in a skillet over medium heat and fry the potatoes, zucchini, and eggplant in batches until golden. Drain them really well on paper towels — especially the eggplant, which tends to drink up oil like it’s on vacation.
2️⃣ Make the meat filling
In a large skillet or Dutch oven, cook the diced bacon over medium heat until crispy and golden. Scoop out 2 tablespoons of bacon and set aside for the topping.
Add the onion to the bacon fat and cook until soft and golden, about 5–6 minutes. Stir in the garlic and cook another minute. Add the beef, breaking it up, and cook until browned all over.
Pour in the red wine, then stir in the tomato paste and beef stock cube. Scrape up any browned bits from the bottom of the pan — that’s flavor. Add the passata, salt, pepper, cinnamon, optional oregano, parsley, dill, and bay leaves. Let it simmer uncovered for about 30 minutes, stirring occasionally, until thick and deeply flavorful. Remove the bay leaves.
Once the béchamel is ready, stir about ½ cup of it into the meat mixture — this little trick makes the filling creamy and luxurious.
3️⃣ Make the béchamel
In a saucepan, melt the butter over medium heat. Whisk in the flour and cook for 1–2 minutes, stirring constantly. Slowly pour in the milk, whisking as you go to keep it smooth. Keep cooking and stirring until the sauce thickens enough to coat the back of a spoon.
Season with salt, white pepper, and a pinch of nutmeg. Stir in the Pecorino (or Kefalotyri) until it melts and the sauce is silky. Take the pan off the heat and whisk in the egg yolks.
4️⃣ Assemble the moussaka
Preheat your oven to 350°F (180°C). Grease a nine-by-thirteen inch (23×33 cm) baking dish.
Arrange the potato slices in a single layer and sprinkle with a little salt, pepper, chopped parsley, and Pecorino. Next, layer the zucchini, then half the eggplant.
Spread the meat filling evenly over the vegetables, smoothing it out as best you can. Top with the remaining eggplant. Pour the béchamel over everything, spreading it to the edges. Sprinkle with a little more Pecorino and finish with the reserved crispy bacon.
5️⃣ Bake & rest
Bake the moussaka uncovered for 35–45 minutes, or until the top is golden and bubbling. Let it rest for at least 20 minutes before slicing — this helps the layers set beautifully and makes serving a lot easier.
Love this Greek moussaka? Save the image below to your Pinterest board so you can find it anytime you’re craving it again — and help others discover it too!
Greek Moussaka Video Recipe
Tips & Tricks
— Salt your eggplant and zucchini properly. Don’t skip this step — letting the slices sit with salt for 15–20 minutes draws out excess moisture and helps prevent soggy layers.
— Drain fried vegetables well. If you go the traditional route and fry the vegetables, lay them out on plenty of paper towels and blot them. Eggplant especially soaks up oil like crazy, so take your time.
— Let the moussaka rest before slicing. After baking, give it at least 20 minutes to cool slightly and firm up. Cutting too soon can make the layers slide apart.
— Use good cheese. If you can find Greek Kefalotyri, it’s worth it for the authentic sharpness. Pecorino Romano is a great substitute.
— Adjust seasoning to your taste. The filling should be deeply flavorful before you even bake — don’t be afraid to taste and tweak salt, pepper, and herbs as you go.
— Make it ahead. Moussaka is perfect for making the day before — it reheats beautifully and often tastes even better the next day when the flavors have had time to meld.
— Roast or fry — your choice. Frying gives you that traditional richness, while roasting keeps it a little lighter. Both are delicious.