I think that this is one of those dishes that has dozens of variations and my one is just something that I have cooked the same way for a couple of decades at least.
You need a rich minced meat (I prefer lamb) and tomato sauce, thinly sliced potatoes, griddled or fried aubergine slices and a topping which can either be a cheesy béchamel sauce or a yoghurt and egg mixture with added feta cheese, which sets like a kind of baked custard.
I like to flavour my meat sauce with chopped dill and parsley and also have a bit of chilli heat, but not too much.
I also griddle my aubergine slices these days, frying them means that they soak up a lot of oil and makes the finished dish a bit too greasy.
If you have the potato slices thin enough they don’t need any pre-cooking but if you want thicker slices, they benefit from parboiling for about five minutes.
The dish is basically an assembly job. You layer the meat sauce, potato and aubergine in an oven-proof dish and finish off with the yoghurt and cheese custard and then all you do is bake it in the oven on a middle shelf until the potatoes are cooked and the top is golden.
To go with moussaka all you really need is a salad and maybe some pitta breads to mop up the sauce.
As to wine, I think that any robust fruity red will work. It doesn’t demand anything too refined, there are a lot of decent Greek red wines around but they can be tricky to track down. Oddbins used to carry a few but alas, Oddbins isn’t around any more.
Portuguese reds are a nice idea, they have plenty of fruit and enough body to stand up to what is a pretty powerful dish. We had a bottle of a varietal wine, made from the Touriga Nacional grape called Point West. It was very soft and pretty full-bodied and worked well with the food. It has some oak and a wonderfully spicy red fruits flavour on the palate. Recommended.