Melt the butter in a saucepan with a little splash of olive oil. Add the shallots, season with salt and sauté until soft.
Add the potato and stock, then continue to cook for about 15 minutes until the potato is soft. Add the watercress and wild garlic or chives and cook for 2 minutes, then transfer to a blender until smooth.
If preparing in advance, cool the soup quickly by pouring it into a bowl set over a bowl of iced water to retain its bright green colour.
Heat 2 tablespoons of oil in a frying pan, add the black pudding and fry for 4-6 minutes until golden brown. Drain on kitchen paper.
Bring a pan of water to the boil and add the vinegar. Crack the eggs into separate bowls. Swirl the water with a spoon, gently add the eggs and poach for 4 – 5 minutes or until cooked but with soft yolks. Carefully remove the eggs with a slotted spoon and drain on kitchen paper.
To serve, place black pudding in bowls, top with poached egg and pour over the watercress soup. Garnish with wild garlic flowers (optional).