Preheat the oven to 400°F. Line a baking dish with foil and spray with cooking spray. Set aside.
Heat the avocado oil in a large saucepan over medium heat. Add the minced garlic and cook for 2 minutes until fragrant.
Add the chopped onion and cook for another 2 minutes until it begins to soften.
Add the sliced mushrooms, spinach, and half of the chopped tomatoes. Cook for 2 to 3 minutes until the mushrooms are soft and the spinach is wilted. Stir in the fresh basil, half the sea salt, and half the black pepper. Remove from heat and set aside.
Cut the top off the eggplant and slice it in half lengthwise. Use a spoon to scoop out the seeds from each half, creating a shallow boat shape with enough room to hold the filling. Place both halves cut side up in the prepared baking dish.
Spread the remaining chopped tomato across the bottom of the baking dish around the eggplant. Sprinkle the inside of each eggplant half with a quarter teaspoon of sea salt.
Divide the vegetable mixture evenly between the two eggplant halves and press it in gently.
Divide the shredded mozzarella and grated parmesan evenly over the top of each filled eggplant. Sprinkle with the dried parsley, dried oregano, remaining salt, and remaining pepper. Spray lightly with cooking spray.
Place a toothpick in each eggplant half to help hold the filling in place, then cover the baking dish tightly with foil.
Bake for 30 to 35 minutes until the eggplant is tender when pierced with a fork and the cheese is melted and bubbly. Remove the foil for the last 5 minutes if you want the cheese to brown slightly on top.