Prepare the eggplants by preheating your oven to 400°F (200°C). Score the flesh of each eggplant half in a crosshatch pattern, being careful not to pierce the skin. Brush with 2 tablespoons olive oil and season with salt and pepper.
Roast the eggplant halves cut-side up on a baking sheet for 20-25 minutes or until the flesh is tender and can be easily scooped. Remove from oven but keep the oven on.
Scoop out the eggplant flesh when cool enough to handle, leaving about 1/4 inch of flesh attached to the skin to maintain the “boat” structure. Roughly chop the scooped flesh and set aside.
Sauté the aromatics by heating the remaining tablespoon of olive oil in a pan over medium heat. Add onions and cook until translucent (about 3-4 minutes), then add garlic and cook for another 30 seconds until fragrant.
Create the stuffing mixture by combining the sautéed onions and garlic, chopped eggplant flesh, breadcrumbs, ricotta, 1/2 cup mozzarella, 1/4 cup Parmesan, egg, chopped basil, oregano, red pepper flakes (if using), and salt and pepper in a mixing bowl. Stir until thoroughly combined.
Fill the eggplant boats generously with the stuffing mixture, mounding it slightly. Place them back on the baking sheet.
Add the sauce and cheese by spooning marinara sauce over each stuffed eggplant half, then sprinkle with the remaining mozzarella and Parmesan cheese.
Bake until golden for 20-25 minutes, until the filling is hot throughout and the cheese on top is melted and starting to brown. If needed, broil for the last 2 minutes to get that perfect golden top.
Garnish and serve with additional fresh basil and a drizzle of olive oil if desired. Allow to rest for 5 minutes before serving.