To make the filling: Heat a large frying pan then add the olive oil. Once heated, put in the onion and carrot then cook for a few minutes. They should become tender without browning.
Stir in the lamb then fry for about 2 minutes. Mix in the tomato purée, garlic (if using) and flour.
Pour in the beef stock then bring to the boil. Stew for about 10 to 15 minutes, until thick. Be careful not to let the mixture stick to the pan.
Add the Worcestershire sauce, parsley, salt and pepper. Turn off the heat and transfer into an 850ml pie dish. Set aside to cool down.
Making the topping: Remove the skin from the tomatoes and chop into equal chunks. Fill a saucepan with cold water, adding a pinch of salt. Put in the tomatoes and bring to the boil. Cook until they become soft then tip in a colander to drain. Put the tomatoes back into the pan and dry them out while stirring constantly.
In another pan, pour the double cream and 85g of the butter. Bring to the boil.
Stir in the mashed potatoes and sprinkle with salt, pepper and nutmeg. Leave to cool.
Heat the oven to 180°C.
Take a piping bag with a 2cm plain nozzle and fill up with the potato purée. Pipe over the cooled meat mixture.
Put in the oven for about 10 minutes.
Heat the rest of the butter until completely melted. Brush over the pie then bake for another 20 minutes, until the top has a nice golden colour. Take out of the oven and serve while hot.