In a medium bowl, combine the diced tomatoes, red onion, basil, balsamic vinegar, olive oil, garlic, salt, and black pepper. Mix well and set aside to let the flavors meld for about 15 minutes.
In a separate bowl, beat the softened cream cheese until smooth. Stir in the mozzarella and Parmesan cheeses until well combined.
Spread the cream cheese mixture evenly in the bottom of a serving dish.
Spoon the tomato mixture over the cream cheese layer, spreading it evenly.
Serve immediately with toasted baguette slices, crackers, or fresh vegetables.