Preheat the oven to 200 degrees Celsius (390 Fahrenheit).
Slice the eggplant, drizzle a bit of olive oil over, add a pinch of salt and pepper, and arrange on a baking tray.
Bake for about 15 minutes, until the eggplant slices begin to soften, turn them over, then slice the zucchini, and again drizzle over some olive oil and season with salt and pepper.
Add the zucchini over the eggplant, and bake for a further 10-15 minutes.
Once they eggplant and zucchini have softened, remove from the tray, slice the potatoes and one of the onions, and repeat the process, baking them for about 20-25 minutes until golden.
Meanwhile, chop the other onion, and heat up one teaspoon of oil in a pan.
Add the ground beef, and cook until the meat is no longer pink, then add the chopped tomatoes, carrot and the broth, and cook until the liquid has been absorbed.
Season with salt, pepper and herbs.
To make the bechamel sauce, melt the butter in a pan, add the flour and whisk well.
Gradually add the milk, whisking continuously to avoid lumps forming.
When the sauce has thickened slightly, add the cheddar, parmesan cheese, salt, pepper and nutmeg and remove from the heat. Add one tablespoon of sauce in the beef mixture.
To assemble the moussaka, grease an oven-proof dish with olive oil, add one layer or the baked eggplant and zucchini, one layer of the cooked beef, one layer of potatoes and onion, another layer of beef, then top with the bechamel sauce.
Bake in the oven for about 15-20 minutes until the top is golden. Garnish with chopped parsley (optional).