Boil the wine and vinegar in a pan with the onion. Turn down the heat, reduce the liquid to approx. 2 tbsp, strain into a thin-sided bowl, leave to cool.
Add the egg yolks to the reduction and mix well. Suspend the bowl over a gently simmering bain-marie, ensuring that the bowl does not touch the water. Beat the mixture with a whisk until light and fluffy. Reduce the heat, gradually add the butter while stirring, continue to stir until the sauce becomes creamy. Remove the bowl, season the sauce.
Bring the water and vinegar to the boil in a wide-bottomed pan, reduce the heat. Crack the eggs one at a time and carefully slide into the simmering water, cook for approx. 4 mins. Remove, leave to drain.
Toast the bread on both sides in a frying pan without any oil. Place the ham and eggs on the slices of toast, drizzle the Hollandaise sauce over the top.