Melt 50g butter in a small saucepan over medium heat. Stir in 50g flour and cook for 1-2 minutes until fragrant. Gradually whisk in 750ml hot milk. Season with a pinch of nutmeg, a pinch of allspice, salt to taste, and pepper to taste. Simmer over low heat for 3 minutes, stirring occasionally.
Preheat oven to 200°C (392°F). Brush a baking sheet with 2 tablespoons olive oil. Arrange the aubergine slices in a single layer, lightly salt them, and drizzle with 2 tablespoons olive oil. Roast for 20 minutes, turning over halfway through (after 10 minutes).
Arrange the roasted aubergine slices in a single layer in a large, flat baking dish.
Spread the tomato slices and spring onions on top. Season with 1 teaspoon oregano, salt to taste, and pepper to taste.
Layer the cooked potato slices on top.
Spread the bechamel sauce evenly over the potatoes. Sprinkle with 100g parmesan cheese and dot with 1 tablespoon butter. Bake in the preheated oven at 200°C (392°F) for 25 minutes until golden and bubbling.