Add 3 tablespoons of butter into a large nonstick pan on medium-low heat. Once it’s almost all melted, add the onion and mix. You don’t want to burn the onion; it should start to turn brown and get really soft and sweet. The whole caramelization process will take about 25 minutes, with occasional mixing. Add a pinch of salt. If smoke starts rising and onions start burning, turn heat down a bit and add more butter if it needs it.
Once the onions have completely caramelized, remove them to another dish and add the tomatoes to the pan on medium heat. Add a pinch of salt. After about 1-2 minutes (or until tomato starts to char), flip the tomatoes to char the other side for another 30 seconds or so. Remove tomatoes to another dish.
Turn burner to medium (if you want a crispy edge, otherwise lower to med-low), melt 2 tablespoons of butter in the pan, crack in the eggs, giving them enough room in the pan. Add a good pinch of salt and pepper. Cook for 3-4 minutes or until desired doneness.
Toast bread and place the onions, tomato, and egg on top. Enjoy it!