Heat olive oil in a large skillet over medium-high heat. Put the onion in the pan, sprinkle with sugar, fry the onion, stirring occasionally for about 4-5 minutes, add the vinegar and cook for another 2-3 minutes. Put the tomatoes in the pan, cook with the onions for a couple of minutes.
Remove the pan from the stove, add the basil to the tomatoes, season with salt and pepper to taste. Transfer to a bowl, cover to keep warm.
Wash the steaks, dry on a paper towel, sprinkle with salt and pepper on all sides. Wipe the pan with a paper towel, heat the butter on it. Place two steaks in a preheated skillet and fry for about 3 minutes on each side. Transfer the fried steaks to a plate and cover with foil. Squeeze the remaining two steaks for 3 minutes on each side. Serve steaks with grilled tomatoes.