Mix the beef with the ketchup, 3 eggs, seasoning and 100ml water in a table-top mixer for 5 mins – or squeeze and squelch with your hands in a bowl. Mix in the onions, half the garlic and herbs.
Heat oven to 200C/180C (392F/356F) fan/gas 6. Press the meat into a sausage shape about 30cm x 10cm (12 in x 4 in) on a baking tray. Cook for 20 mins then remove and leave to cool.
Heat the butter in a frying pan over a high heat, add the mushrooms and cook for 3 mins. Add remaining garlic and cook for a further 2 mins, pouring off the excess water from the mushrooms.
Roll pastry into a rectangle large enough to wrap up the beef. Beat remaining egg with a little water and brush over pastry.
Spread the mushroom mix into a meatloaf-size strip along the middle of the pastry. Sit the meat on top then cut pastry either side into strips from the meat outwards. Criss-cross these over the meat to enclose and tuck under ends. Brush with more egg, then place on a tray and cook for 40 mins, covering after 30 mins if going too brown.