Slice the tomato and the cheese.
Spread one side of each slice of bread with a bit of butter or mayonnaise.
Stack the bread slices on top of each other, buttered sides together.
Layer with some mozzarella and then the tomato slices. Season the tomato slices with salt and pepper. Add the basil leaves and then the rest of the mozzarella.
Heat a non-stick frying pan or cast-iron frying pan over medium heat.
Pick up the top layer of bread and then lay it down, buttered side down on the frying pan. Lay the remaining slice of bread on top of everything, buttered side up.
Cook for 4-5 minutes, or until browned and crispy.
Using a spatula, carefully flip the sandwich over and cook on the other side for 3-5 minutes, or until browned and crispy. Serve immediately with a drizzle or small condiment cup of balsamic glaze.