Stir the balsamic vinegar, garlic powder and onion powder together in a small bowl until blended. Place the mushrooms into a large resealable plastic bag. Pour in the balsamic vinegar mixture, seal bag and turn gently to coat mushrooms evenly with marinade. Place in refrigerator for 1 hour.
Heat the olive oil in a frypan over medium-high heat. Stir in the eggplant and spinach; cook and stir until eggplant turns golden brown, about 5 minutes.
Preheat oven to 180 degrees C. Lightly grease 20x30cm baking dish.
Remove mushrooms from marinade, shake off any excess and discard marinade. Place mushrooms in prepared dish, top side down. Spoon the eggplant and spinach mixture evenly over the mushrooms. Sprinkle with mozzarella cheese. Divide the tomatoes and artichoke hearts evenly between the mushrooms. Top each mushroom with parmesan cheese.
Place in preheated oven, and bake until the cheese melts, about 12 minutes. Serve hot.