Prepare the pastry by cutting the butter into the flour and salt mixture in a bowl until it resembles fine breadcrumbs. Using a fork add cold water gradually and combine to make a dough. Do not over-knead! Sprinkle dough with flour, wrap in waxed paper and refrigerate for 30 minutes.
Sauté the onions in a little oil until tender, then combine with the beef and the mushrooms in a bowl along with the flour and dry seasonings.
Line a pudding basin or bowl with the pastry and fill with the beef and onion mixture.
Add the Worcestershire sauce and beef stock and top with a layer of pastry. Cover the top of the pudding with a round of waxed paper and then seal the top of the bowl with a layer of foil, tied in place with butcher's twine.
The bowl is placed in enough water to come half way up the exterior in a large pan or Dutch oven.
Boil for three hours, covered, being sure not to allow it to boil dry.