Preheat oven to 200°C (400°F).
In a large heavy-bottomed skillet, brown the ground beef over medium-high heat until no pink remains. Drain excess fat.
Add the onions and carrots to the skillet and sauté for 5-7 minutes until softened.
Stir in garlic, tomato paste, and thyme, cooking for 1 minute until fragrant.
Add the lentils, beef stock, and Worcestershire sauce. Bring to a boil, then reduce heat to low and simmer covered for 25-30 minutes until lentils are tender.
While the base simmers, place potatoes in a pot of cold salted water. Bring to a boil and cook for 15 minutes or until fork-tender.
Drain potatoes and mash thoroughly with butter and milk. Season with salt and pepper to taste.
Transfer the beef and lentil mixture into a 2-quart baking dish, spreading it into an even layer.
Spread the mashed potatoes over the beef mixture. Use a fork to create a textured pattern on the surface.
Bake for 20-25 minutes or until the potato topping is golden brown and the filling is bubbling around the edges.