Preheat the oven to 400°F (200°C).
Cut the eggplant in half, lengthways, and cut out the flesh, leaving about ¼” all around. Reserve the flesh for another use.
Brush the inside of the eggplant with olive oil and season with salt. Place on a baking tray and bake for 20 minutes.
Meanwhile, heat the olive oil in a skillet. Add the onion and saute on medium heat until softened. Add the mushrooms, garlic, and herbs. Stir and cook until browned.
Next add the chopped tomatoes. Stir to combine, reduce the heat and simmer over medium heat, about 5 minutes. Remove from heat. Add the mozzarella cheese and basil. Stir just to combine.
Spoon the mixture into the eggplant halves. Season with salt and pepper. Bake the stuffed eggplants for 20 minutes. Garnish with red pepper flakes and fresh basil leaves, if desired.