Rinse the lentils and cook them in boiling water for 20 minutes until tender. Drain and set aside.
Meanwhile, boil the potatoes in salted water for 15-20 minutes until very tender. Drain well.
Mash the potatoes with the butter, milk and half the cheese. Season well and set aside.
Heat the olive oil in a large frying pan. Add the onion and carrots, cook for 5 minutes until softening.
Add the garlic, rosemary and tomato puree. Cook for 1 minute.
Pour in the chopped tomatoes, stock and Worcestershire sauce. Add the drained lentils and stir well. Simmer for 10 minutes until the mixture thickens. Season generously.
Preheat the oven to 200C/180C fan/Gas 6. Spoon the lentil mixture into an ovenproof dish. Top with the mashed potato and spread it out evenly. Fork the top and scatter over the remaining cheese.
Bake for 20-25 minutes until the top is golden and bubbling. Let it rest for 5 minutes before serving.