Preheat a fan-forced oven to 180C / 350F (200C / 395F for no fan).
Season beef - Take the beef out of the fridge to come to room temperature 30 minutes before using. Add the beef into a large bowl and season with salt and pepper. Stir to coat.
Brown beef - Add half the oil to a large, heavy based oven proof pot on medium high heat. Add beef in three batches and cook until brown, about 3 minutes. Take out of the pot. If you have burnt bits at the bottom, you may want to wipe the pot with a paper towel.
Cook onions and garlic - Lower heat to medium. Add the remaining oil, onion and garlic and stir until onions brown slightly, about 1 minute.
Add sauce ingredients - Add the tomato paste, BBQ sauce and Worcestershire sauce, 2 1/2 cups (625ml) of the vegetable stock (reserve remaining for later), dark ale and the browned beef into the pot. Stir until combined. Crush the bouillon cube in your hands into the pot. Stir until mixed in.
Slow cook - Bring to a boil, then cover with the lid and place in the oven. Bake for 1 1/2 hours or until beef is tender.
Cook mushrooms and form sauce - To a medium skillet, add the butter and melt. Add the mushrooms and cook for 2 minutes until softened. Add the flour and stir, it will look dry. Add 1/4 of the remaining vegetable stock and stir. Then add another 1/4 and repeat until it’s all in. Stir until a thick and smooth sauce forms.
Add mushroom sauce to beef - Take the pot out of the oven and place on the stove on medium heat. Add the mushroom sauce and stir until well combined. Cook on the stove for 10 minutes, stirring until thickened. The beef should be fall apart tender.
Allow to cool - Take off the heat and allow to cool completely to room temperature. I would recommend making the filling the day before for two reasons. The filling needs to be cool when putting the pie together otherwise it will melt your pastry, and second, the flavors meld together and intensify after 24 hours. If you’re in a hurry, you can put it together after allowing the filling to cool completely for a couple hours.