Preheat the oven 350F.
Slice the eggplant in half. With a sharp pairing knife, cut a circle in the flesh, 1 inch deep, leaving 1/4" border along the edge. Score the inside, 1/2" deep. Brush the eggplant with 2 tbsp of olive oil. Bake on a tray for 15-20 minutes. Turn the eggplant over halfway through the baking to prevent the skin from burning.
When the flesh is soft, take the eggplant out of the oven and let cool.
Meanwhile, heat a pan over medium high heat. Add 2 tbsp olive oil. Add the zucchini, bell peppers, celery, red onion, and mushrooms. Season with salt and peppered cook until vegetables start to soften. Add the tomatoes, taste for seasoning, and allow to cool.
Mix in the chopped bacon, basil, and mozzarella to the cooled vegetables.
Remove the flesh from the eggplant and roughly chop. Add the eggplant to the vegetables. Fill the eggplant shell with with the vegetable mixture. Sprinkle the parmesan cheese on top. Bake for 15 minutes or until heated through before serving.