Preheat the oven to 240C fan (or as high as it goes).
Sprinkle salt over the slices of aubergine and then stack them in a colander. Leave them to sweat for 10 minutes.
Pat the aubergine dry, then lay the slices on lined baking trays, brush with oil, and bake for 15 minutes until lightly golden and soft.
Meanwhile, heat some cooking oil in a large pan over a medium to high heat, and cook the onion and garlic for a few minutes.
Add the mince and break it up as it browns.
Pour in the wine and cook until it’s reduced by half.
Add the tinned tomatoes, tomato paste, beef stock, oregano, and cinnamon. Simmer on medium heat for about 15 minutes until thick.
For the white sauce, add the butter, flour, and milk straight into a saucepan and cook over a medium heat until it starts to thicken.
Take it off the heat and whisk in the parmesan and nutmeg, and then taste for seasoning.
Let it cool for 5 minutes, then whisk in the egg and egg yolk.
Drop the oven temperature to 180 C.
Spoon some of the meat into a baking dish, then layer a third of the aubergine over it. Alternate the meat and aubergine layers like a lasagne until you have used up a third layer of aubergine.
Pour over the béchamel and spread it into the edges. Scatter over the grated parmesan and then bake for half an hour, until it’s golden and bubbly.
Let it rest for at least 10 minutes before serving so it holds together nicely.