Trim any aggressive bits of fat from the beef then dice into fairly large bite-sized pieces. Coat in 1 tsp salt and 1/2 tsp black pepper.
Add 1 tbsp oil to a large deep pot over high heat. Once hot, add half of the beef and sear until brown all over, then remove from the pot. You're not looking to cook the beef at this point, this is just to develop flavour on the outside. Repeat with the second batch, adding more oil as needed.
Lower the heat to medium and fry the bacon until it begins to crisp and leak out fat (add more oil if needed). Add the onion, carrot and celery and fry until it all begins to soften and lightly colour. Add the garlic and fry for another minute.
Stir in the flour then stir in half of the stock until it blends with the flour. Stir in the rest of the stock alongside all of the Guinness. Add the Worcestershire sauce, tomato puree, sugar, thyme, bay leaves and cooked beef (alongside all the resting juices). Give it a good stir and bring it to a simmer.
Once simmering, turn the heat to low, add on the lid and cook for 1 hour and 30 minutes, stirring occasionally. Remove the lid and simmer for a further 35-40 minutes, or until the consistency is a thick gravy and the beef is tender (important that the sauce has thickened). Stir somewhat frequently to ensure a skin doesn't form on top of the beef and around the pot. Check for seasoning and adjust if desired.
Pour the filling into the baking dish, plucking out the thyme stalks and bay leaves as and when you find them. Leave to rest for AT LEAST 30 minutes to cool and form a skin on top. I recommend an hour or even overnight in the fridge if you can (see notes).
As the filling cools, you can crack on with the mash. Add the diced potato to a large pot of cold water and stir in 2 tsp salt. Bring to a boil and cook the potatoes until fork tender. Drain them in a colander and leave them to sit for 5 minutes. This is important to allow the steam to escape.
Preheat the oven to 190C/375F.
Add the potatoes back into the pot and mash with butter, sour cream, milk, chives and salt and pepper (I use 1 tsp salt and 1/2 tsp pepper but work to taste). Dollop by dollop gently add the mash on top of the filling. Smooth over the mash to close any gaps and ensure the top is completely level. If the mash is still piping hot, just let it cool for a few more minutes. If it's steaming hot the pastry won't crisp up properly. Sprinkle over the cheese, then add the pastry and brush with egg wash. Slice 4-5 steam holes in the top.
Place the dish on top of a baking tray (important to catch any leakage) then place in the oven for 30 minutes, or until the pastry is deep golden and crispy, with the filling bubbling around the edges.
Rest for 5 or so minutes before tucking in!