Heat the olive oil in a medium skillet over medium-low heat. Add garlic to the oil and stir occasionally until lightly golden, about 2-4 minutes. Allow oil to cool.
In a large bowl, combine tomatoes, red onion, basil, balsamic vinegar, salt, pepper, and cooled olive oil. Mix well to combine and set aside while you prepare the bread.
Preheat oven to 375°F. Line a large baking sheet with a silicone mat or parchment paper.
Slice bread and arrange slices on a baking sheet. Lightly brush each slice on both sides with additional olive oil.
Bake for 8-10 minutes or until bread is toasted and slightly golden.
Drain any liquid from the tomato mixture.
Allow bread to cool slightly, then spoon the tomato mixture onto each slice.
Arrange on a serving platter and top with fresh mozzarella and fresh basil.
Notes
*You can use Roma tomatoes, San Marzano tomatoes, vine-ripe tomatoes, beefsteak tomatoes, heirloom tomatoes, etc. Here are storage and make-ahead tips for this bruschetta and mozzarella recipe.
Tomato mixture: Can be made up to a day ahead. Store in an airtight container in the fridge. Drain any excess liquid before using.
Toasted bread: Can be made several hours ahead and stored in a container at room temperature.
Assembly: Best done right before serving to prevent soggy bread.