Heat the vegetable oil in a large non-stick frying pan and add the bacon, cooking it for 1-2 minutes. Tip in the potatoes and cook over a medium heat for 12-15 minutes, turning occasionally, until browned.
New potatoes or Charlotte potatoes are ideal for this recipe, as they don't break up. If using old potatoes, take care when stirring — and avoid stirring too often to help them keep their shape.
Add the spring onions and tomatoes and cook over a low heat for another 4-5 minutes, while poaching the eggs.
Poach the eggs in simmering water for 3-4 minutes, until the whites are set and the yolks still runny (or longer if you prefer a firm set).
Add a few drops of vinegar to the poaching water to help keep the eggs together.
Share the potato hash between 4 warm serving plates and place a poached egg on top. Season with black pepper, then serve.
For a vegetarian version, omit the bacon rashers and replace with 2 tablespoons of drained canned red kidney beans, packed in water.