Heat the oil in a medium saucepan over medium-high heat. Add the onion and garlic and cook, stirring, for 3 minutes or until softened. Add the tomatoes and cook, stirring, for 1 minute. Add the vinegar. Reduce heat to low and simmer, uncovered, for 2 minutes or until tomatoes soften slightly. Stir in the shredded basil. Season with salt and pepper.
Meanwhile, half-fill a large shallow frying pan with water. Bring to the boil over medium-high heat. Break one of the eggs into a cup, then slide into pan. Repeat with the remaining eggs. When all eggs are in pan, allow water to return to the boil. Cover pan, turn off heat. Stand for 2-3 minutes or until eggs are cooked as desired. Remove the egg with a slotted spoon and drain on absorbent paper.
Roughly mash the avocado and lemon juice in a small bowl. Season with salt and pepper. Place one piece toasted bread on each serving plate. Spread toast with avocado. Place eggs on avocado. Top with baby basil leaves. Serve with sautéed tomatoes on the side.