Peel and chop the potatoes into even chunks. Place them in a pot of salted water and bring to a boil. Cook until tender, about 15 minutes, until they easily mash with a fork.
While potatoes cook, heat a large skillet over medium-high heat. Add a splash of oil and brown the ground beef, breaking it apart with a spatula, until deeply browned and slightly crispy, about 8 minutes. The aroma should be savory and rich.
Add diced onion and minced garlic to the skillet. Cook until fragrant and translucent, about 3-4 minutes. The mixture will smell warm and inviting.
Stir in diced carrots and cook until they start to soften, about 5 minutes. Then, pour in the broth, add tomato paste, and Worcestershire sauce. Simmer until the mixture thickens slightly and the flavors meld, about 5 minutes. It should smell savory and look moist but not watery.
Drain the potatoes well, then mash with butter and warm milk until smooth and fluffy. Season with salt and pepper to taste. The mash should be creamy and light, with a gentle warmth from the butter and milk.
Spread the beef and vegetable mixture evenly in a baking dish. Dollop spoonfuls of mashed potatoes on top, then gently spread or pipe to cover the filling completely. Use the back of a spoon to create some peaks for a crispy top if desired.
Bake in a preheated oven at 200°C (400°F) for 20-25 minutes, until the top is golden and the filling is bubbling around the edges. For extra crispness, broil for 2-3 minutes, watching carefully so it doesn’t burn.
Remove from the oven and let rest for 5 minutes. This helps the filling set slightly and makes serving easier. The aroma will be warm, savory, and inviting, signaling that it’s ready to enjoy.