Moussaka (Greek Eggplant Casserole)

Our ultimate recipe for the creamy, cinnamon-scented comfort food is well worth the elbow grease.

  • Serves


  • Cook

    4 hours 40 minutes


By Aglaia Kremezi

Updated on July 28, 2023

A good moussaka is “one of the most fabulous things you can eat,” according to Aglaia Kremezi, author of Mediterranean Hot and Spicy. Her recipe for the Greek eggplant casserole, inherited from her mother, is a labor of love requiring sautéing, frying, boiling, and baking—but it’s well worth the trouble. The components (meat sauce, béchamel, and fried eggplant and potatoes) can be prepared the day before assembling.  


  • 2 cups plus 3 Tbsp. extra-virgin olive oil, divided
  • 6 bay leaves
  • 2 cinnamon sticks
  • 1 large yellow onion, finely chopped
  • 2 lb. ground beef
  • ¼ cup tomato paste
  • 1½ tsp. ground cinnamon, divided, plus more for dusting
  • ½ tsp. freshly grated nutmeg, divided
  • ¼ tsp. ground cloves
  • 1 Tbsp. red wine vinegar
  • 1 tsp. sugar
  • One 28-oz. can whole peeled tomatoes in juice, crushed
  • Kosher salt and freshly ground black pepper
  • 8 Tbsp. unsalted butter
  • 1 cup all-purpose flour
  • 4 cups whole milk
  • 4 large eggs
  • 3 large eggplants, sliced into ¼-in.-thick rounds
  • 5 medium russet potatoes, peeled and sliced into ¼-in.-thick rounds
  • 1 cup coarsely grated graviera cheese, or Gruyère
  • Freshly ground black pepper


Step 1

To a large pot set over medium-high heat, add 3 tablespoons of the oil, the bay leaves, cinnamon sticks, and onion and cook, stirring frequently, until soft, 5–7 minutes. Add the beef and cook until browned and all the liquid has evaporated, about 30 minutes. 

Step 2

Add the tomato paste, 1¼ teaspoons of the ground cinnamon, ¼ teaspoon of the nutmeg, and the cloves and cook until beginning to brown, about 2 minutes. Stir in the vinegar, sugar, tomatoes, and 2 cups of water and bring to a boil. Turn the heat to medium-low, partially cover, and cook, stirring occasionally, until nearly all the liquid has evaporated, about 1½ hours. Remove from the heat, then discard the cinnamon sticks and bay leaves. Season generously with salt and black pepper and set aside. 

Step 3

Meanwhile, make the béchamel: In a medium bowl, beat the eggs. Melt the butter in a medium pot set over medium-high heat. Whisk in the flour and cook until light golden, about 2 minutes. Whisk in 1½ teaspoons of salt, the milk, and the remaining cinnamon and nutmeg. Cook, whisking frequently, until thick, about 10 minutes. Ladle about 1 cup of the béchamel into the egg, then whisk to combine. Pour the egg mixture back into the pot, then whisk until smooth. Remove from the heat and set aside. 

Step 4

Position a rack in the center of the oven and preheat to 350°F. To a large skillet set over medium-high heat, add the remaining oil. Lightly dust the eggplant slices with cinnamon slices. When the oil is hot and shimmering, working in batches, fry the eggplant (turning once) until soft and golden brown, about 10 minutes. Transfer to a paper towel-lined plate. 

Step 5

Bring a large pot of salted water to a boil, then add the potatoes and cook until barely tender, 8–10 minutes. Drain and transfer to an ice bath. When cool, drain and set aside. 

Step 6

On the bottom of a 10-by-14-inch baking dish, spread 1 cup of the béchamel. Sprinkle with ⅓ cup of the graviera. Spread the potatoes evenly over the cheese, then cover evenly with the eggplant. Pour the meat sauce over the top, then spread with the remaining béchamel. Top with the remaining graviera. Bake until bubbling and golden brown, about 1 hour. 

Continue to Next Story

Want more SAVEUR?

Get our favorite recipes, stories, and more delivered to your inbox.