For the lamb sauce, heat 2 tbsp 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/1/4 inch slices. Heat a frying pan until it is jumping hot, add 1 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 1/2-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 1 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.
Preheat the oven at 200C/400F/Gas 6. 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 golden and bubbling.