Cook the pasta in salted water according to package directions.
Meanwhile, heat the olive oil over medium heat. Add the shallot and garlic and reduce heat to low. Cook for 20 minutes, stirring occasionally, allowing the shallots to caramelize.
When the shallots are tender and beginning to turn brown, add the balsamic vinegar and stir for 2–3 minutes, allowing the vinegar to thicken slightly.
Stir in the cream and the parmesan. Season to taste with salt and black pepper.
Drain the pasta. Toss with the balsamic cream sauce.
Stir in the tomatoes, mozzarella, and basil.