Preheat the oven to 180C/350F/Gas 4.
To make the filling, heat the oil in a large flameproof casserole dish. Fry the onions and mushrooms over a medium heat for about five minutes, or until lightly browned, stirring regularly.
Put the flour, salt and dried herbs in a large bowl. Season with lots of freshly ground black pepper and mix well. Trim the beef of any hard fat and sinew. Cut the beef into roughly 2.5cm/1in cubes. Toss the meat in the flour until coated evenly all over. Tip the beef and all the flour into the pan with the onions and mushrooms. Fry for 3-5 minutes.
Add the bay leaf, stout, stock, tomato purée and sugar. Stir well and bring to the boil. Cover with a lid and carefully transfer to the oven. Cook for 2¼ hours, or until the beef is very tender, stirring halfway through the cooking time. If the beef remains a little tough, return to the oven and cook for longer.
Take five ladlefuls (around 450ml/16fl oz) of the sauce and set aside in a small saucepan to use for gravy later. (When cooled, put in the fridge until needed.) Return the pan to the hob and simmer for 2-3 minutes, or until the sauce is thickened enough not to run out over the plate when the pudding is cut, but not too thick or the pudding will taste dry.
Remove from the heat, tip into a large mixing bowl, discard the bay leaf and leave to cool completely.
To make the suet pastry, put the flour in a large bowl and stir in the suet, parsley and salt. Stir in enough water to make a soft, spongy dough - you'll probably need around 250ml/9fl oz. Turn out onto a floured surface and bring the dough together to form a ball. Knead lightly, then use scales to divide the dough into four portions of about 100g/3½oz, 150g/5½oz, 200g/7oz and 275g/9¾oz.
Butter a 1.5 litre/2½ pint pudding basin and line the base with a small disc of baking parchment – this will make the pudding easier to remove once cooked. Roll out the smallest portion of pastry into a disc roughly 1.5cm/½in thick. Place in the base of the pudding basin. Cover with a layer of the beef and mushroom mixture. Roll the 150g/5½oz portion into a disc large enough to cover the beef and press gently on top, making sure it reaches the sides. Repeat the same process with the remaining pastry and filling until the basin is layered with four discs of pastry and three layers of beef, ending with the final layer of pastry, trimmed neatly to fit if necessary.
Cover the dish with a large circle of baking parchment, with a pleat in the middle to allow for expansion. Cover the parchment with a circle of foil, again with a pleat. Tie both tightly in place with string. Create a carrying handle by tying the excess string across the top of the basin - this will help you lift the pudding once it's cooked.
Place on an upturned saucer or small trivet in a large, deep saucepan and add enough just-boiled water to come halfway up the sides of the basin. (Alternatively, cook in a large hob-top steamer.) Cover the pan with a tight-fitting lid and place over a medium heat. Allow to steam in simmering water for two hours, adding more water when necessary.
When the pudding is done, turn off the heat and carefully lift the basin from the water. Stand for five minutes. Heat the reserved sauce until bubbling, stirring constantly and adding a little extra water if needed.
Cut the string, and peel the foil and paper off the basin. Loosen the sides of the pudding right down to the bottom with a blunt-ended knife and, holding with an oven-cloth, invert onto a deep plate. Peel off the lining disc. Pour a little of the gravy over the top and then serve in generous wedges with more hot gravy.