For the filling, heat the oil in a frying pan over a medium heat. Add the leeks and fry for 4-5 minutes, or until beginning to soften.
Add the carrots, mushrooms and garlic and continue to cook, stirring regularly, for 4-5 minutes.
Add the sage, thyme, tinned lentils, tinned tomatoes, stock and red wine and stir together until well combined. Bring the mixture to the boil, then reduce the heat until it is simmering and continue to simmer for 18-20 minutes while you make the topping.
Preheat the oven to 200C/180 Fan/Gas 6.
For the topping, bring a large pan of water to the boil (there’s no need to add salt). Add the sweet potato chunks and boil for 6-8 minutes, then add the potato chunks and continue to boil for a further 4-5 minutes. Finally, add the cauliflower florets and continue to boil for a further 8-10 minutes, or until all the vegetables are tender.
Drain the vegetables well and return them to the pan. Add the butter, season well with salt and freshly ground black pepper, then mash until smooth. Set aside and keep warm.
Stir the Worcestershire sauce, soy sauce, chilli flakes (if using) and sugar (if using) into the filling mixture, which should have thickened during cooking. Continue to simmer for a further 1-2 minutes, adding a little water if the mixture is too dry (simmer for longer if the mixture is too watery). Season, to taste, with salt and freshly ground black pepper.
Transfer the filling mixture to an ovenproof baking dish, then spoon over the topping and spread into an even layer. If you like a crispy topping, create peaks in the mash using a fork. Sprinkle over the parmesan, if using.
Bake the shepherd’s pie in the oven for 18-20 minutes, or until the topping is golden-brown and the filling is bubbling.