Heat the oven to Gas Mark 4, 180°C, (350°F).
Heat a little oil in a large frying pan. Add in half the lamb and cook until browned. Remove to a plate and brown the remaining lamb. Remove it from the pan. Add a little more oil then add the onion and garlic and cook over a medium heat until softened. Pour in the wine or stock and bring to the boil. Add back the browned lamb along with the tomatoes, tomato purée, cinnamon, all spice, oregano or thyme and bay leaf. Season with a little salt and black pepper. Bring back to the boil. Reduce the heat and simmer for 30 minutes or until the sauce has thickened.
Meanwhile brush the aubergine slices with a tablespoon of oil. Heat a large frying pan over a medium-high heat. Cook the aubergine, in batches for two minutes on each side. Transfer the slices as they cook to a large plate.
To make the white sauce: Melt the butter in a large saucepan and stir in the flour. Cook for a minute or two then gradually stir in the milk. Add half the cheese and the grated nutmeg. Simmer the sauce gently for 4-5 minutes, stirring regularly. Season to taste with salt and freshly ground black pepper. Remove from the heat and allow to cool a little before stirring in the eggs.
To assemble the Moussaka: Spoon half the meat sauce into a large, shallow ovenproof dish – approximately 18cm x 26cm. Cover with a layer of half the potatoes, followed by a layer of half the aubergine. Follow with the remaining meat, then potatoes, then aubergine. Finish with the white sauce. Then sprinkle over the remaining cheese. Bake in the preheated oven for 45 minutes.
Serve with the Greek Salad.