Heat up the oil in a large cooking pan.
Peel and chop the onion, and fry on a low to medium heat until golden, then add the peeled and chopped carrots and garlic, peas, lentils and bay leaves.
Pour in the stock/broth, increase the heat to medium, cover the pan with a lid, and leave to cook until the lentils are tender, and the liquid is nearly absorbed.
Add the chopped tomatoes, and continue to cook until it thickens into a sauce.
Season with salt and pepper, add the tomato puree, and give it a good stir.
Remove from the heat, and transfer the lentil filling to an oven-proof dish.
For the topping, peel and chop the potatoes into chunks, add them to a pan of salted water, and leave to cook until they are tender.
Drain the water, add salt, butter and cream, and mash to a smooth texture.
Top the lentils with the mash, brush with a beaten egg, and bake at 180 degrees Celsius (350 Fahrenheit) for 15-20 minutes until golden and bubbling hot.