1) Heat a large frying pan over medium heat; add 2 tsps of the olive oil. Cook the bacon in the hot oil until brown and a little crispy, about 2 minutes per side. Set aside and tent with foil to keep warm.
2) Add the remaining 2 tsps olive oil and shallots to pan, and cook until they brown and soften, about 3 minutes.
3) Add the spinach with whatever water clings to the leaves, and season with salt and pepper, to taste. Raise the heat to high, stir the spinach, incorporating any browned bits from the bottom of the pan; cover and cook until wilted, about 1 minute.
4) Meanwhile, fill a non-stick pan with about 5cm of water and bring it to the barest simmer over medium heat; add the vinegar. Crack the eggs, slipping them gently into the water, and cook until the whites are set but the yolks are still runny, 3 to 4 minutes.
5) Using a slotted spoon, gently scoop the eggs from the water, blot dry with a paper towel.
6) Divide the bacon between 4 plates, top with spinach and then with the poached eggs.