Preheat the oven to 200°C or gas mark 6 and prepare a baking tray with baking sheets.
Gently beat the egg whites and add the breadcrumbs.
Rinse the aubergine slices and dry with paper towels before dipping into the egg whites and then the breadcrumbs.
Once coated with breadcrumbs, place the aubergines on baking sheets and place in the oven for 30 minutes.
While the aubergines are cooking you can prepare the meat filling.
In a large sauté pan, gently brown the beef. Add the onion and sauté for about 5 minutes before adding the garlic. Cook for a further minute.
Pour the wine into a saucepan and add the cinnamon, allspice, parsley, tomato paste, crushed tomatoes and sugar. Allow to simmer until the liquid is evaporated about 15 minutes.
While that is simmering, melt the butter over a low heat and whisk in the flour to make a paste. Stir in the warmed milk and leave on the heat until it is thick. Do not allow to boil.
Stir in the egg yolks and pinch of nutmeg. Return to heat and stir until sauce thickens.
Sprinkle the bottom of an ovenproof dish with the breadcrumbs and layer on the potatoes. Top with the aubergines and layer on the meat. Sprinkle with the cheese add another layer of aubergines. Pour the white sauce over it and sprinkle with the rest of the cheese.
Place in the over for 50 minutes until the top is golden.