Sprinkle the aubergines with a little salt in a colander and leave, pressed down with a plate and a weight, to drain off any excess moisture for 30 minutes. (This prevents them soaking up too much oil).
Preheat the oven to 180°C, 350°F, Gas 4.
Heat 1tbsp oil in a pan and fry the onion and garlic for about five minutes. Turn the heat up a little, add the lamb mince and cook until browned, breaking any lumps up with a wooden spoon. Stir in the tomato puree and cook out for one minute. Add the tomatoes, wine and cinnamon and allow to bubble up. Season. Reduce the heat to its lowest, then simmer for around 30 minutes until the mixture has thickened.
Heat some olive oil in a frying pan and fry the aubergines in batches on each side until golden brown. Drain each batch on kitchen paper.
Make the topping: Melt the butter in a saucepan, then stir in the flour until you have a smooth paste. Whisk in the milk a little at a time, stirring until the sauce is smooth and lump-free. Allow to simmer very gently for 10 minutes or so to cook out the flour, then stir in the cheese and a little nutmeg. Allow to cool.
Layer the meat sauce and aubergines in a deep casserole, finishing with a layer of aubergines. Whisk the eggs into the cheese sauce then spoon over the aubergines.
Bake in the oven for around 40 minutes until the top is golden and puffed up. Leave to rest once cooked for 10 minutes to allow the dish to settle.
Freezing and defrosting guidelines
Once the dish has cooled completely, transfer it to an airtight, freezer-safe container, seal and freeze for up to 1-3 months. To serve, defrost thoroughly in the fridge overnight before reheating. Loosely cover with foil and bake until dish is thoroughly heated through. Reheat until piping hot.
See more Lamb recipes
For top tips on protecting you and your family when preparing raw meat and poultry, visit Food Safety in the Home.