Heat up the olive oil, then stir in the eggplant, making sure it all gets coated in oil. Let cook, stirring occasionally, for about ten to fifteen minutes.
Add the garlic and chili flakes to the pan and cook, stirring, for a couple more minutes.
Add the tomatoes to the pan, then crush them and break them up with a wooden spoon. Pour in the balsamic vinegar, then add the sugar/honey. Simmer for about 15 minutes or until the eggplant is nice and soft.
At the end of the cooking time, season well and stir in most of the basil.
Meanwhile, boil the pasta according to the packet instructions (until al dente is best). Then drain, reserving some of the water.
Add the pasta to the sauce and toss until well coated. Add enough of the reserved cooking water to make the dish nice and smooth and ‘silky'.
Rip the mozzarella into the pan and stir again briefly.
Serve out into bowls immediately. Top with grated parmesan and the remaining fresh basil.
How to cook the eggplant/aubergine
It’s really important to check that the eggplant/aubergine is nice and soft before you tip the pasta into the sauce. Undercooked eggplant is nasty!
What if I don't like mozzarella or don't have any?
Use ricotta cheese or pecorino instead of the mozzarella if you like (if you choose pecorino, you won’t need parmesan as well).
What if I don't have any whole canned tomatoes?
It isn’t the end of the world if you use crushed/chopped tomatoes, but whole tomatoes add a bit more ‘quality’ to the dish.
Can I freeze the sauce?
Absolutely! Just cool and freeze in a sealed container or freezer bag.
Why not make a pasta bake instead?
If you like, you can make this into a pasta bake. Just tip the finished pasta and sauce into a baking dish, sprinkle with plenty of parmesan and broil (UK - put under the grill!) until the cheese is bubbling and browned (probably about 4-6 minutes).