Sprinkle the eggplant slices with about 1 tablespoon of salt and set aside to sweat for 30 minutes. Blot dry.
Brush the slices on both sides with olive oil and place on sheet pans (you will need 3 or 4). Roast in batches in the oven until both sides are golden and the slices are soft, about 20 minutes. Let cool. Taste and season with salt if necessary. Reduce the oven temperature to 350º.
Meanwhile, heat 3 tablespoons of olive oil in a large dutch oven or skillet. Add the onion and saute over medium heat until translucent, slightly golden, and very tender, 15 minutes. Add the garlic and cook for a few more minutes, then add the tomatoes and 1/2 teaspoon salt. Cook, stirring occasionally, until the sauce is thickened to a thick, jammy texture, 15 - 20 minutes. (This may take longer if your tomatoes are more watery.) Remove from the heat and stir in the basil. Taste for salt.
Oil a 9 x 13 x 2" lasagna pan or glass baking dish. Layer the ingredients like so:-Spread 1/3 of the tomato sauce on the bottom of the dish -Make an overlapping layer with 1/2 of the eggplant -Spread with another 1/3 of the sauce -Top with 1/2 of the mozzarella -Sprinkle over all of the parmesan -Top with the remaining eggplant -Spread with the remaining sauce (reserve the rest of the mozzarella)
Bake the eggplant parmesan at 350º until bubbling and heated through, 30 minutes. Remove from the oven and preheat the broiler. Lay the remaining mozzarella slices over the top and place under the broiler for 2 - 3 minutes to melt and brown the cheese (watch closely so it doesn't burn.) Remove and let cool for a few minutes before serving.
The eggplant parmesan keeps well in the fridge for up to several days. Reheat before serving.