Season the beef with salt and pepper. Heat the butter and oil in a frying pan and quickly brown the meat evenly on all sides. Remove from the pan and leave to cool.
Add the onions, mushrooms and thyme to the pan and cook gently until soft, but not browned. Stir in 95ml Madeira and continue cooking until the liquid has evaporated. Season with salt and pepper and leave until cold.
Heat the oven to 200°C (180° fan) 400°F gas 6. Line a baking tray with non-stick baking paper.
Roll out the pastry in a rectangle large enough to enclose the meat.
Beat the pâté until smooth and spread most of it over the top and sides of the meat. Brush the pastry with a little of the beaten egg. Spoon half the mushroom mixture over the pastry and place the beef fillet, pâté side down, on top.
Spread the remaining pâté on the top of the beef and then spread with the rest of the mushroom mixture.
Brush one long side of pastry with beaten egg. Fold the unbrushed side over the beef and fold the second side over and press together to seal. Join the ends of the pastry in a pinched frill and trim any excess. Use the trimmings to decorate the pastry, attaching with a little beaten egg.
Cut 2 slits in the top of the pastry to allow the steam to escape and brush the top with the remaining beaten egg.
Place on the baking tray and bake for 25-30 minutes, until the pastry is golden and crisp.
Heat the beef stock with the remaining Madeira. Bring to a boil and cook until reduced. Remove from the heat and stir in the cream. Simmer gently until thickened.
Serve the sauce with the beef Wellington and garnish with thyme.