Preheat oven to 350°F (175°C). Brush eggplant slices with olive oil and arrange in a single layer on baking sheets. Bake for 20-25 minutes, or until golden brown and tender. Set aside.
In a large skillet, brown the ground lamb over medium-high heat. Drain off any excess fat.
Add the chopped onion and cook until softened, about 5 minutes. Stir in the minced garlic and cook for 1 minute more until fragrant.
Pour in the red wine and scrape up any browned bits from the bottom of the pan. Let it simmer and reduce by half.
Stir in the crushed tomatoes, tomato paste, cinnamon, nutmeg, chopped parsley, salt, and pepper. Bring to a simmer, then reduce heat and cook for at least 20 minutes, stirring occasionally.
To make the béchamel sauce, melt the butter in a saucepan over medium heat. Whisk in the flour and cook for 1 minute, stirring constantly, to form a roux.
Gradually whisk in the warmed milk until smooth. Bring to a gentle simmer, stirring constantly, until the sauce thickens, about 8-10 minutes.
In a small bowl, whisk the egg yolks. Gradually whisk about 1 cup of the hot béchamel sauce into the egg yolks to temper them. Then, whisk the tempered egg yolk mixture back into the saucepan with the remaining béchamel. Cook for 1-2 minutes more, stirring constantly, until thickened. Do not boil. Stir in the Parmesan cheese, nutmeg, salt, and pepper.
Assemble the moussaka: Spread half of the meat sauce in the bottom of a 9x13 inch baking dish. Layer half of the eggplant slices over the meat sauce. Pour half of the béchamel sauce over the eggplant. Repeat the layers with the remaining meat sauce, eggplant, and béchamel sauce.
Bake in the preheated oven for 40-50 minutes, or until the top is golden brown and bubbly. Let stand for 15 minutes before serving.
Notes
This dish is best served warm. It can be made ahead of time and reheated.