Mix the tomatoes, onion, and basil leaves in a bowl. Season with red wine vinegar, salt and pepper. Set aside to marinate five minutes.
Cut the baguette in half lengthwise and pull out about two-thirds of the middle, leaving a crusty bread shell. Rub the insides with the garlic halves and drizzle generously with olive oil.
Fill the cavity with the tomato mixture. Spoon any remaining juice over the top of the baguette and the rest over the tomato mixture. Make a layer of olive sliced. Lay the sliced egg over top, season with salt and pepper, and put the top of the bread back on, pressing down well. Wrap in parchment until serving. The longer it sit, the more the flavours will soak into the bread.