Add onion, tomatoes. Cook on medium until onions are slightly browned. Add garlic. Turn heat to low. Cook for 30 seconds until fragrant. Add balsamic vinegar. And continue to reduce on low until tomatoes start to break down and garlic losses some of its sharpness.
In separate pan, melt butter at medium heat.
Cut out 2 holes in each slice of bread using a shot glass. Place both the slices and the holes of bread in the buttered pan when foaming subsides. Crack an egg into each empty hole. Cook two minutes on each side.
Place slices of bread with eggs on plates. Top with the tomato mixture. Salt and pepper to taste, basil and a pinch of smoked paprika.