Moussaka is a baked Greek casserole built from three components: roasted eggplant, spiced ground beef, and a béchamel sauce that sets into a firm, sliceable top layer. It takes about 1 hour 45 minutes start to finish, and most of that time is hands-off oven work. The payoff is a dish that holds its shape when you cut it and tastes even better the next day.
Why this recipe works
Two things make this recipe reliable. First, roasting the eggplant at 400°F rather than frying it drives off most of the moisture — eggplant is roughly 92% water, and wet slices turn the bottom layer soggy. Dry, golden slices hold their structure under the meat and sauce. Second, simmering the beef filling for a full 15 minutes after adding the crushed tomatoes isn’t optional. That time reduces excess liquid so the filling doesn’t pool when the casserole is cut. Ground beef releases moisture as it cooks, and skipping the simmer leaves you with a watery middle layer no matter how well everything else goes.
If something goes sideways
- Béchamel goes lumpy: The milk was added too fast or too cold. Next time, warm the milk first and add it in a slow, steady stream while whisking constantly. If it’s already lumpy, take it off the heat and whisk hard — small lumps often smooth out. For stubborn lumps, strain through a fine mesh sieve before pouring.
- The casserole is watery when you cut it: The beef filling wasn’t reduced enough, or the dish wasn’t rested after baking. Always let it sit at least 15 minutes before slicing — the layers firm up as they cool slightly.
- Béchamel top is pale and soft after baking: Your oven may run cool, or the dish was on a low rack. Move it to the upper third of the oven for the last 10 minutes to get color on the top.
- Ground beef is clumping into large pieces: Break it up with a wooden spoon or spatula as soon as it hits the pan, before it starts to brown. Once large chunks set, they’re hard to break apart without losing texture.
- Eggplant slices stick to the tray: The parchment wasn’t oiled, or the slices were flipped too early. Let them roast undisturbed for at least 12 minutes before attempting to flip — they release naturally once the underside is golden.
Substitutions that actually work
- Kefalotyri cheese: Hard to find outside specialty stores. Parmesan is the listed alternative and works well. Pecorino Romano also works but adds a sharper, saltier note — reduce added salt in the béchamel slightly if using it.
- Ground beef: Ground lamb is the most traditional swap and pairs naturally with the cinnamon and allspice. Use the same weight and cook it to the same internal temperature of 160°F (71°C).
- Whole milk in the béchamel: 2% milk works but produces a slightly thinner sauce. Skip skim milk — the sauce won’t thicken properly and the texture suffers. Skip the garnish of fresh herbs if you were considering it — not worth the extra dish.
- San Marzano crushed tomatoes: Any good-quality canned crushed tomatoes work fine. Avoid fresh tomatoes here; they add too much water to the filling.
Storage and reheating
Cover the cooled casserole tightly and refrigerate for up to 4 days. The flavor genuinely improves overnight as the layers settle. To reheat, cover the dish with foil and warm in a 350°F (175°C) oven for 20–25 minutes until heated through — the internal temperature should reach 165°F (74°C). Individual slices can be microwaved on medium power in 90-second intervals to avoid drying out the béchamel. For freezing, cut into portions, wrap each tightly in plastic wrap and then foil, and freeze for up to 2 months. Thaw overnight in the fridge before reheating in the oven.
Greek-Style Beef Moussaka Casserole
Equipment
Ingredients
Roasted Eggplant
2 lbs eggplant - sliced into 1/4-inch rounds
½ cup olive oil - for brushing and roasting
Beef Filling
2 tablespoons olive oil
1 medium yellow onion - finely chopped
2 cloves garlic - minced
1.5 lbs ground beef - preferably grass-fed
1 teaspoon ground cinnamon
½ teaspoon allspice
½ teaspoon ground black pepper
1 teaspoon kosher salt
1 cup crushed tomatoes - canned, preferably San Marzano
Béchamel Sauce
4 tablespoons unsalted butter
¼ cup all purpose flour (plain flour Australia and UK)
- 2 cups whole milk - warmed
¼ teaspoon nutmeg - freshly grated
1 large egg yolk - room temperature
- ½ cup Kefalotyri - grated, or Parmesan cheese
Instructions
- Preheat and Prepare the EggplantPreheat oven to 400°F (200°C). Arrange eggplant slices on parchment-lined baking trays. Brush both sides generously with olive oil. Roast for 25–30 minutes, flipping halfway, until slices are tender and golden-brown at edges.
- Cook the Beef FillingHeat olive oil in a large skillet over medium heat. Sauté the onion until soft and translucent, about 5–7 minutes. Add garlic and sauté 1 more minute. Stir in beef, breaking it up with a wooden spoon; cook until browned. Stir in cinnamon, allspice, pepper, and salt. Add the crushed tomatoes and simmer for 15 minutes to marry the flavors.
- Prepare the Béchamel SauceIn a saucepan, melt the butter over medium heat. Whisk in flour and cook for 2 minutes to form a light roux. Gradually whisk in warm milk and continue whisking until thickened, about 5–7 minutes. Season with nutmeg and a pinch of salt. Remove from heat and whisk in the egg yolk. Stir in the grated cheese until melted and smooth.
- Assemble the MoussakaPreheat oven to 375°F (190°C). In a 9x13 inch baking dish, layer half the roasted eggplant. Spread all the beef mixture over it evenly. Layer the remaining eggplant slices on top. Pour the béchamel sauce over the top layer of eggplant, spreading evenly with a spatula.
- Bake and RestBake for 40–45 minutes or until the top is golden and bubbling. Let rest for at least 15–20 minutes before serving for best slicing consistency.
Notes
- For a lighter version, substitute ground lamb with ground turkey or lean beef.
- Kefalotyri cheese gives an authentic flavor, but high-quality Parmigiano-Reggiano works well.
- Letting moussaka rest before serving helps it set and enhances flavor cohesion.
Nutrition
Your questions, answered
Do I have to salt and drain the eggplant before roasting?
No — this recipe skips that step because roasting at high heat handles the moisture. Salting and draining is useful when frying eggplant, but at 400°F the oven does the same job without the extra 30-minute wait.
How do I know when the ground beef is fully cooked?
Ground beef is done when it reaches an internal temperature of 160°F (71°C) and there is no pink remaining. In a skillet, this usually happens within 8–10 minutes of browning — break it into small pieces as it cooks so it heats evenly throughout.
Can I assemble the moussaka ahead of time and bake it later?
Yes, and it’s one of the best things about this dish. Assemble it fully, cover tightly with plastic wrap, and refrigerate for up to 24 hours before baking. Add 10–15 minutes to the bake time since the dish will be cold going into the oven.
My béchamel sauce seems too thin — will it firm up in the oven?
It will thicken as it bakes, especially once the egg yolk sets, but only if it was thick enough to coat a spoon before going in. If it’s very runny, return it to medium heat and whisk for another 2–3 minutes before using — it should have the consistency of a loose pudding.
More mince recipes to try
- Spicy Beef Stuffed Peppers
- Hearty Beef Cauliflower Bake
- Mediterranean Lamb Feta Pie
- Beef Ricotta Lasagna Rolls

Finally! A recipe that has all the flavours of the authentic moussakas I ate in Greece. I loved it, found it simple to make and deliciously satisfying to eat.