Season the diced beef all over with 1/2 tsp salt and 1/4 tsp black pepper. Add a drizzle of oil in a large heavy-based saucepan over high heat, then add all the beef, spreading it out as needed. Brown both sides, then remove and place in a bowl to one side (doesn't need to be cooked at this point, just get some colour on it to develop flavour).
Lower the heat to medium, then add the onion, carrot and celery, topping up with oil if needed. Fry until it all starts to soften and turn golden, then add the garlic and fry for another 30 seconds or so. Stir in the tomato puree and fry for 30 seconds, then stir in the flour (it might clump up a little, which is fine).
Pour in the wine and stir to combine with the flour to make a paste, then pour in the stock, stirring as you go to avoid lumps forming. Add the Worcestershire sauce and bay leaf, then stir in the beef + all the resting juices. Use your wooden spoon to scrape any flavour from the base of the pot.
Bring to a simmer, then reduce the heat to low so it's gently bubbling away. Add the lid and cook for 1 hour and 30 minutes (you can check a few times to scrape the base of the pot). After this, remove the lid and simmer for a further 20-30 minutes, until the beef is tender and the sauce is nice and thick. If you need to simmer slightly longer, then do so - you don't want the sauce watery at all (see video for visual reference).
Remove from heat and use two forks to roughly shred the beef (some larger pieces here and there are fine). Preferably, pour it into a bowl and cover overnight in the fridge. If you don't have time, just let it completely cool to room temp (it should form a skin on top).