Combine 3 tablespoons of the oil and 2 minced cloves of garlic in a small bowl; set aside.
Drain the tomato in a fine sieve, discarding the juice. Place the tomato into a medium bowl.
Add basil, vinegar, remaining 1 teaspoon of oil, remaining 2 cloves of minced garlic, crushed red pepper, salt and pepper; stir to combine.
Brush 10 slices of bread with the oil and garlic mixture. Place the slices, oil side down on a cutting board. Place a slice of mozzarella on each slice. Spoon the tomato mixture onto the mozzarella. Sprinkle the tomato mixture with parmesan. Brush the remaining 10 slices of bread with the oil mixture and place, oil side up on the parmesan. Very lightly press down to secure the sandwich.
Heat a griddle pan or a large frying pan over medium-low heat. Cook the sandwiches in batches if you need to, for 3 to 4 minutes per side until the bread is crisp and golden and the cheese is melted. Serve warm. Makes 10 mini sandwiches.