Preheat the oven to 180 degrees C. Heat the oil in a large frying pan and fry half of the shanks over medium heat until the meat is browned all over. Remove from the pan and repeat the process with the remaining shanks. Transfer the shanks to a large ovenproof dish.
Melt the butter in the same frying pan on medium heat. Add the parsnips, carrots, celery and onions and cook, stirring for a few minutes. Using a slotted spoon, remove the vegetables and add them to the lamb shanks. Add the flour to the pan and cook, stirring, over medium heat until smooth. Add the tomatoes then gradually pour in the red wine and stock. Cook, stirring until the sauce boils and thickens. Season with salt.
Pour the sauce over the lamb shanks, add the bay leaves, rosemary and peppercorns and bake, covered, for 2 1/2 hours, or until the meat is tender. Add the broad beans or peas and cook for another 10 minutes. Serve immediately on warmed plates.