Sprinkle eggplant with the salt, place in a colander and stand for 20 minutes. Rinse under water, pat dry with paper towel.
Preheat oven to 180 degrees C.
Heat the oil in a large frying pan, add the garlic, ginger, carrot and onion; cook, stirring, for 4-5 mins or until onion is soft. Add the eggplant and capsicums; cook, stirring, for 3-4 minutes. Add the mushrooms, tomatoes, tomato paste, herbs and stock. Bring to the boil, reduce the heat to a simmer. Cover and cook for 30 minutes. Stir in the spinach thoroughly and cook for a further 2 mins or until the spinach is wilted.
For the cheese sauce: Melt the butter in a medium saucepan, add the flour and stir over a medium heat for 1 min or until the mixture forms a ball. Remove from the heat; gradually whisk in the milk. Stir over a medium heat until sauce boils and thickens. Stir in the cheddar cheese and season to taste.
Pour a third of the cheese sauce over the base of a 6-cup oven-proof baking dish. Cover with a third of the pasta, then half the vegetable mixture. Repeat layers using vegetables and pasta.
Pour remaining cheese sauce over pasta layer, making sure all the pasta is covered. Sprinkle with the parmesan cheese. Bake for 45-50 mins, or until the top is golden brown and the pasta is tender.