Preheat the oven to 400°F (200°C).
Cut the eggplants in half lengthwise.
Scoop out the center flesh, leaving a thick shell. Chop the scooped flesh.
Brush eggplant shells with olive oil. Lightly season with salt.
Place shells cut-side up on a baking tray. Bake for 15 minutes.
Heat a pan over medium heat. Add olive oil, onion, and garlic.
Cook until soft and fragrant, about 3 minutes.
Add ground meat. Cook until browned.
Stir in chopped eggplant flesh, tomatoes, Italian seasoning, salt, and pepper.
Cook until thick and well combined, about 5–7 minutes.
Remove eggplant shells from oven. Fill them with the meat mixture.
Top with mozzarella and parmesan cheese.
Bake for another 15–20 minutes until cheese is melted and golden.
Let rest for 5 minutes. Garnish with basil if using. Serve warm.