Heat the oil in a large saucepan (or shallow sauté pan if possible) then add the onion and fry for 5 minutes until just beginning to soften. Add the fennel, reserving any green fronds for later, the potato and the garlic and fry for 5 more minutes, stirring.
Mix in the saffron, stock and white wine, then season with salt and pepper and bring to the boil. Cover and simmer for 15 minutes, stirring occasionally or until the potatoes are tender.
Add the spinach, tearing the larger leaves into pieces and cook for 2–3 minutes until just beginning to wilt. Taste and adjust the seasoning if needed. Scoop out most of the vegetables with a slotted spoon and divide between warmed shallow serving bowls. Add the eggs one at a time to the remaining hot stock, leaving a little space between them and simmer gently for 3–4 minutes until the whites are just set and the yolks are cooked to your liking.
Lift the poached eggs out of the soup carefully with a slotted spoon and place on top of the vegetables in the soup bowls. Ladle the stock around the eggs, top with any reserved and snipped green fennel fronds and sprinkle with black pepper. Serve with toasted olive ciabatta bread.