Peel and chop the onion. Sauté it in a generous amount of olive oil. Add the ground meat to the pan and brown it. Add the rest of the meat sauce ingredients and stir everything together. Season generously.
Put the butter and flour in a saucepan. Heat and stir until smooth, but don’t let it brown. Pour in the milk and bring to a boil, stirring constantly. Remove from the heat and whisk in the grated cheese and eggs. Set the cheese sauce aside to cool.
Peel and slice the potatoes. Wash the eggplants well and slice them into 1 cm (½ in) rounds. If you like, sweat the eggplant slices with salt for 30 minutes and pat them dry. Preheat the oven to 180 °C (350 °F).
Layer eggplant and potato slices on the bottom of a baking dish, add the meat sauce, and top with more potatoes and eggplant. Pour the cheese sauce over everything.
Bake for at least 1 ½ hours. Cover with foil if the top starts to brown too much. Test the potatoes with a wooden skewer.
Let the moussaka rest for at least 15 minutes after baking, preferably half an hour, then dig in.
Notes
Sweat the eggplant: sprinkle the slices with salt, let them sit for 30 minutes and pat dry with paper towels. This keeps the dish from turning watery.
You can fry the eggplant slices in a little oil before layering, which shortens the baking time.
Cook the meat sauce down properly. A runny sauce makes the dish watery.
Let the cheese sauce cool for a moment before adding the eggs so they don’t scramble.
Let the dish rest for at least 15 minutes after baking, preferably half an hour, so the pieces hold together.