1½ cups finely grated Kefalotyri (parmesan can be substituted)
2 egg yolks
Pinch of freshly grated nutmeg, to taste
1/4 cup chopped parsley
Cut each eggplant in half lengthwise and, using a spoon (I use a grapefruit spoon for this task), scoop out most of the flesh, leaving a 1/4 "thick eggplant shell; chop scooped out flesh and set aside about 3/4 of it. Working in batches, heat 1/4 cup oil in a 12" skillet over medium-high heat. Add eggplant shells and cook, turning once, until browned and just wilted, about 6-7 minutes. Transfer eggplant shells to paper towels; salt lightly and set aside.
Heat 3 tbsp. oil in skillet over medium-high heat; add garlic and onions and cook, stirring often, until soft, about 8 minutes. Add meat, breaking it into small pieces with a wooden spoon, and season with salt and pepper; cook, stirring occasionally, until browned, about 5 minutes or so. Stir in reserved eggplant flesh, tomatoes, tomato paste, wine, oregano, cinnamon, and cloves and turmeric; season with salt and pepper and bring to a simmer. Cook, stirring occasionally, until sauce has thickened, about 45 minutes. Stir in parsley in the last 10 minutes. Remove pan from heat and set meat sauce aside.
Heat butter in a 4-qt. saucepan over medium-high heat. Add flour and cook, whisking constantly, until smooth and slightly toasted, 1–2 minutes. Add milk; cook, whisking often, until sauce coats the back of a spoon, 5–7 minutes. Remove from heat, add 3/4 cup cheese and egg yolks; season with salt, pepper, and nutmeg. Stir béchamel until smooth; set aside.
Heat oven to 375˚. Put eggplant shells cut side up in a rimmed baking sheet sprayed with Pam or brush with a little olive oil.
Sprinkle shells with half the remaining cheese and fill each with reserved meat sauce. Spoon béchamel over top and sprinkle with remaining cheese. Bake until eggplants are tender, about 30 minutes.