For the eggplant and meat sauce: Preheat the oven to 450 degrees F.
Brush both sides of the eggplant slices with 1/3 cup olive oil and sprinkle with salt and pepper. Arrange on a baking pan and bake, turning once, until tender and golden brown on both sides, about 30 minutes. Reduce the oven temperature to 400 degrees F.
Meanwhile, heat the remaining 2 tablespoons oil in a large wide pot over medium-high heat. Add the beef and 1 teaspoon salt and cook, stirring and breaking up any clumps with a wooden spoon, until browned, about 6 minutes. Add the onion, garlic and red pepper flakes and cook, stirring, until softened, about 6 minutes. Add the cinnamon, allspice and tomato paste and cook, stirring, 1 minute. Add the wine and boil until reduced by about half, about 3 minutes. Add the tomatoes and oregano and bring to a simmer, then simmer until slightly thickened and the flavors have blended, about 20 minutes. Season to taste with salt and pepper.
For the bechamel: Melt the butter in a medium saucepan over medium heat. Add the flour and cook, stirring, 1 minute. Gradually add the milk, whisking constantly and stopping occasionally to run a rubber spatula around the edges of the pan to prevent burning. Increase the heat to medium-high and bring to a simmer, whisking constantly, then simmer 2 minutes. Remove from the heat and add the goat cheese and Parmesan, whisking until smooth. Season with salt and pepper to taste. Whisk in the egg yolks.
Arrange half of the eggplant in a single layer on the bottom of an 8-inch square glass baking dish. Top with half of the meat sauce. Layer the remaining eggplant slices on top followed by the remaining meat sauce. Top with an even layer of bechamel. Place the baking dish on a foil-lined baking pan and bake until bubbling and the topping is golden brown in places, 20 to 30 minutes. Let stand at least 20 minutes, then garnish with the parsley and serve.