Dust the meat in the flour, shaking off any excess. Heat the oil in a large casserole pan and brown the meat in batches over a high heat. Remove with a slotted spoon.
Reduce the heat and add the onion and celery to the pan and soften before returning the beef to the pan. Add the port and cook uncovered on a high heat for a few minutes. Add the ketchup and some salt and pepper. Reduce the heat and simmer covered for a couple of hours on a very low heat – add the mushrooms half an hour before the end if using.
It is mandatory to serve with mash.