Put the bacon joint in a flameproof casserole dish or heavy-based saucepan and cover with water. Pop on a lid, bring to the boil, then simmer gently for 45 mins until cooked. Meanwhile, boil the potatoes in a pan of salted water for 20 mins. five mins before the end of cooking, add the cabbage. Drain well, return to the pan for 1-2 mins to dry out, then mash together.
Add 1 tbsp of the oil to a frying pan with the onion and cook over a medium heat for 5 mins. add this to the potatoes and cabbage, and mix together with a little seasoning. Set aside. Meanwhile, drain the bacon and leave to rest for 10 mins.
Put the flour on a plate. Shape the potato and cabbage mixture into 8 cakes, then roll them lightly in the flour, tapping off any excess. Add 1 tbsp oil to the frying pan and fry the cakes in 2 batches for 3-4 mins on each side until golden.
Cover the potato cakes with foil and set aside. Wipe the frying pan with kitchen paper, then add the remaining oil. Crack in the eggs and cook until the white is set and the yolk is still runny.
Slice the bacon and serve with the potato cakes, eggs and ketchup.