Heat the oil in a pan, then add the garlic, ginger, carrot, onion; sauté for 4-5 mins.
Add the brinjal and peppers and sauté for 3-4 minutes, constantly tossing them.
Next, add the mushrooms, tomatoes, tomato puree, oregano, stock and seasoning. Allow it to boil, reduce the heat to simmer, cover and cook for 30 minutes.
Stir in the spinach thoroughly and cook for a further 2 mins.
For the sauce: Melt the butter in a saucepan, add the flour and stir over a medium heat until it comes away from saucepan and forms a ball.
Remove the saucepan from the heat and slowly pour in the milk, return to a medium heat and bring to the boil, stirring constantly (very important). Add the cheese and stir until melted. Season to taste.
Pour a third of the cheese sauce into the base of a large oven-proof baking dish. Cover with a third of the pasta, then half the vegetable mixture. Repeat layers using the vegetables and pasta.
Finish by covering the top with the remaining sauce, making sure all pasta is covered.
Sprinkle the Parmesan cheese over the top. Bake for 40-45 mins, or until the top is golden brown.