Cover the dried porcini with the measured warm water and set aside for 30 minutes.
Heat the olive oil in a large saucepan and, when it starts to shimmer, add the chopped carrots, celery and onion, along with a large pinch of salt. Cook over a low heat, uncovered, stirring occasionally, for 25 minutes, until everything is soft and the onion and celery are translucent.
Add the garlic and bay leaves and cook for a minute more. Drain the mushrooms through a sieve over a bowl, roughly chop and add them to the saucepan with their soaking liquid. Stir in the lentils and tomatoes. Fill the tomato can twice with water and add to the pan with the soy sauce and balsamic vinegar. Bring to the boil, then reduce the heat to a simmer. Cook for 30 minutes, until the lentils are soft and most of liquid has been absorbed. Season to taste.
Meanwhile, place the potatoes in a pan and cover with cold water. Bring to the boil and cook for 15–20 minutes, until a knife passes through the potatoes easily. Drain and mash with the mustard and spread until smooth. Season well.
Preheat the oven to 200°C/400°F/gas mark 6. Tip the lentil mixture into a 20 x 20cm baking tin, then spread the mashed potatoes over the top. Cook in the hot oven for 35–40 minutes, until golden on top and bubbling at the sides.