Heat the oil in a large lidded pan. Add the onion and carrot and fry over a medium heat for five minutes until soft.
Add the minced beef to the pan and fry for a few minutes to brown the mince all over.
Add the tomatoes, tomato purée, beef stock, bay leaf and thyme to the pan.
Simmer for 30 minutes. Season with salt and freshly ground black pepper.
In the meantime, for the mash topping, chop the potatoes into quarters and boil in a pan of boiling salted water for about 10-15 minutes, until tender.
When the potatoes are cooked, drain the water and mash the potatoes well.
Add cream, butter and salt and freshly ground black pepper to taste. Set aside. Preheat the oven to 190C/375F/Gas 5.
After 30 minutes cooking time, taste the meat, and add ketchup and Worcestershire sauce if desired. If the mixture is too wet, cook for a few more minutes to reduce the liquid.
In a separate pan, heat a little butter. Add the leeks and fry until softened, but not coloured.
Transfer the meat into an ovenproof dish and layer the leeks on top.
Arrange spoonfuls of the mash on top of the meat and leeks and use a wet spatula to smooth out the edges. Cook for about 30 minutes, until the potato is crisp and golden-brown around the edges. Serve hot.