Cut the eggplant into slices that are ½ inch in thickness. Then sprinkle them with salt and put them in a colander. Now, set them aside for 1 hour so that the salt has time to draw out the excess moisture.
Heat 1 tablespoon of the extra virgin olive in a medium saucepan over medium heat. Then add the chopped onion and saute for a few minutes just until it’s soft and translucent.
Add the crushed tomatoes to the onions along with the chopped basil. Then bring the tomato sauce to a simmer and let it cook for 20 minutes while stirring it occasionally. Then taste the sauce and season it with salt and black pepper as needed. Now, turn the heat off and set it aside.
Preheat the oven to 350°F (180°C).
Rinse the salt off the eggplant slices under cold water and then pat them dry with paper towels or a kitchen towel. Now, lightly dust the slices on both sides with the flour making sure to shake off any excess.
Heat the remaining olive oil over medium-high heat in a large frying pan. Next, add the eggplant to the hot oil and fry it on each side for about 30 seconds or until it’s lightly browned. Then transfer the fried eggplant to a paper towel-lined plate to absorb the excess oil.
Evenly spread a small amount of the tomato sauce into the bottom of a 9×13 baking dish. Next, place a layer of the fried eggplant on top of the sauce. Then sprinkle the eggplant with ⅓ of the parmesan cheese followed by ⅓ of the cubed mozzarella and then top the cheese with a few spoonfuls of the tomato sauce. Now, repeat the process with another layer of eggplant, ⅓ of the parmesan cheese, ⅓ of the mozzarella cheese, and tomato sauce. Finally, spread the remaining tomato sauce over the top layer followed by the rest of the parmesan and mozzarella cheese.
Loosely cover the baking dish with foil. Now, transfer the eggplant parmigiana to the preheated oven to bake for 20 minutes. Then remove the foil and bake it for another 20 minutes until it’s bubbling and golden brown on top.
When done, let the dish sit for 5 minutes to set before slicing into it to serve.