Heat 3 tablespoons of olive oil in a large saucepan over medium heat. Add one garlic clove and 1 diced shallot then cook for 5 minutes to soften. Add plum tomatoes and season with a little salt. Cover and cook over medium heat for 30 minutes, stirring every so often and breaking down the tomatoes gently with a wooden spoon. Check seasoning and remove garlic with a slotted spoon then discard.
While the tomato sauce is cooking, cover the bottom of a large pan with a generous amount of olive oil. Heat for a few minutes, then add the remaining chopped shallot and garlic clove. Cook for a few minutes until the shallot softens. Add the eggplant, stirring to coat in oil then season with salt and cook for 20 minutes, stirring from time to time. Check seasoning, stir in oregano and remove garlic with a slotted spoon then discard.
Spoon the eggplant into the tomato sauce then stir well and keep the sauce warm.
Bring to a boil a large saucepan with salted water. If using homemade pasta, add to the saucpan, bring to boil again and cook for 2 minutes. If using store bought, follow the cooking instructions. Drain the pasta, transfer to a bowl and toss with half of the eggplant tomato sauce and basil leaves.
Divide the pasta equally among 4 serving plates then add more sauce on top of each serving and sprinkle with freshly grated Parmesan to serve.