Slice eggplants into 1 cm rounds. Salt both sides generously and let drain for 30-60 minutes. Rinse and pat very dry.
Preheat oven to 200C (400F). Brush eggplant slices with olive oil and arrange on parchment-lined baking sheets. Roast 20-25 minutes, flipping once, until golden and tender.
Heat olive oil in a large pan over medium-high heat. Saute onion 5-6 minutes until softened, add garlic for 30 seconds. Add ground lamb and brown for 7-8 minutes. Drain excess fat.
Deglaze with red wine for 2 minutes. Add crushed tomatoes, tomato paste, cinnamon, allspice, oregano, bay leaf, salt, pepper, and sugar. Simmer uncovered 25-30 minutes until thick. Remove bay leaf.
Melt butter in a saucepan, whisk in flour for 2 minutes. Gradually add warm milk, whisking constantly. Cook 5-7 minutes until thick. Off heat, whisk in egg yolks, nutmeg, salt, white pepper, and half the grated cheese.
Lightly oil a 9x13 inch (23x33 cm) baking dish. Layer: half the eggplant slices, all the meat sauce, remaining eggplant, then pour bechamel over the top. Sprinkle remaining cheese on top.
Bake at 180C (350F) for 45-50 minutes until the top is deep golden brown and edges are bubbling.
Rest for 20-30 minutes before slicing into squares. This resting time is essential for clean slices.