Heat the olive oil in a deep saucepan and sauté the onion and garlic until soft, about 5 minutes. Add the mince to the pan and brown.
Add the mushrooms, cinnamon, oregano and nutmeg to the pot and cook for 2 minutes. Pour in the wine, season with salt and pepper and allow to simmer until most of the liquid has reduced.
Add the tin of tomatoes, stir well and then leave to simmer for 15 minutes. Check the seasoning.
Cut the aubergines into 1 cm slices. Drizzle the slices with olive oil and season with salt and pepper on both sides. Heat a frying pan, then fry the aubergine slices for 3-4 minutes per side until golden. (It is easiest to do this in batches.) Set aside.
Prepare the cheese sauce by melting the butter in a small saucepan. Remove from the heat, then whisk in the flour. Return to the heat and cook for a minute before gradually adding the milk, whisking continuously. Continue to whisk until the sauce has thickened. Remove from the heat, then whisk in the cheddar cheese until smooth.
To assemble: Preheat your oven to 180°C. You will want to remove the cinnamon stick from the mince and mushroom mixture at this point. Layer the aubergines and mushroom filling in a large ovenproof dish. I like to start with a layer of aubergines at the bottom, followed by half of the mushroom mixture, then another aubergine layer followed by the other half of the mushroom mixture, and finally another aubergine layer on top. Pour the cheese sauce over the top of the layers. Sprinkle the parmesan cheese over the top, then pop in the oven for 45 minutes. Allow to stand for a few minutes before serving.