Heat up the oil in a large cooking pan, add the cubed beef arranged in one layer, and season with salt and pepper.
Sear on both sides, then remove from the pan and set aside.
Add the butter to the same pan, and allow it to melt.
Add the peeled and chopped onion, and fry until soft, then add the chopped carrots and celery.
Return the beef to the pan, pour over the stock, and throw in the bay leaves.
Leave to cook with a lid on for one hour, or until the stock is absorbed and the beef is tender.
If the beef is not quite tender yet, just add more stock or water until you are happy with the texture.
Remove the bay leaves, add the tomato puree, cornflour mixed with 2 tablespoons of water, and give it a good mix.
Transfer the filling to a pie dish, and allow it to cool.
Top the dish with the puff pastry, cutting out the excess pastry to fit the dish, then press down on the edges to seal.
Brush the pie with beaten egg, and use a fork to prick the pie in a few places to allow the steam to escape while baking.
Bake in a preheated oven at 190 degrees Celsius (375 Fahrenheit) for 20-25 minutes until golden.