Heat a frying pan over high heat with a little oil, add the beef mince, and cook while breaking it apart until browned and all moisture has evaporated, then remove and set aside.
In the same pan, cook the onion until translucent, then add the grated carrot and minced garlic, continuing to sauté until everything is soft and fragrant.
Return the beef to the pan, stir through the vegetables, then add the flour and cook briefly before mixing in the tomato paste to build a rich base.
Add thyme, Worcestershire sauce, and red wine, allowing it to cook down for a few minutes so the alcohol flavor reduces and the mixture deepens.
Stir in the peas and beef stock, season with salt and pepper, then bring to a boil before lowering the heat and simmering until the mixture thickens and holds its shape.
Peel and chop the potatoes, place them in a saucepan with water, and bring to a boil while preheating the oven to 200°C.
Cook the potatoes until soft, then drain completely and mash with butter, salt, pepper, and milk added gradually until smooth and creamy.
Transfer the beef filling into a casserole dish and spread it evenly, then layer the mashed potatoes on top and smooth the surface with a spoon.
Score the mashed potatoes with a fork to create texture, then bake until the top is golden and the filling is bubbling around the edges.
Let the pie rest before serving so it sets properly and is easier to slice.