Preheat the oven at 200C/400F/Gas 6.
For the lamb sauce, heat two teaspoons of the oil in a pan. Add the onions and garlic and fry until just beginning to brown. Add the minced lamb and fry over a high heat for 3-4 minutes. Add the wine, tomatoes, cinnamon and oregano and simmer gently for 30-40 minutes while you make everything else.
Slice the stalks off the aubergines and cut them lengthways into 5mm/¼in slices. Heat a frying pan until it is jumping hot, add one tablespoon of the oil and a layer of aubergine slices and fry quickly until tender and lightly coloured on each side. Lift out with tongs (every kitchen should have some!), layer over the base of a 2.5-2.75 litre/4 ½-5 pint shallow ovenproof dish and season lightly with a little salt and pepper. Repeat with the rest of oil and aubergines and seasoning each layer as you go.
For the topping, melt the butter in a non-stick pan, add the flour and cook over a medium heat for one minute to cook out the flour. Gradually beat in the milk, bring to the boil, stirring, and leave to simmer very gently for 10 minutes, giving it a stir every now and then. Stir in the cheese and some salt and pepper to taste. Cool slightly and then beat in the eggs.
Remove the cinnamon stick from the lamb sauce, season to taste with some salt and pepper and spoon it over the top of the aubergines. Pour over the topping and bake for 25-30 minutes until the top is golden-brown and bubbling.
This dish can be assembled in advance then chilled until needed. Allow an extra 15 mins in the oven if cooking from cold.