To make the balsamic onions, heat the oil in a large pan over medium to high heat. Add the onions and cook for approximately 10 minutes until soft, translucent and slightly golden. Stir frequently. Add the balsamic vinegar and season with salt and pepper and cook for another 1 - 2 minutes then leave aside to cool slightly.
Place the tomatoes, garlic, chopped basil and oil in a bowl and season with sea salt and black pepper if desired. Let marinate for at least 20 minutes to really allow the juices to develop.
While the tomato mixture is marinating, toast the bread and brush with olive oil and rub lightly with garlic. Spoon the onions onto the bread then top with tomato mixture. Garnish with extra basil leaves.