Preheat your oven to 200°C (400°F).
Heat olive oil in a large skillet over medium heat. Add onion and garlic, and cook until soft.
Add ground beef (or lamb) to the skillet, and cook until browned. Drain excess fat.
Stir in carrots, peas, tomato paste, and Worcestershire sauce. Cook for another 3 minutes.
Pour in beef broth, bring to a simmer, and cook for 10 minutes to thicken the mixture.
Meanwhile, boil potatoes in a pot until tender, about 15 minutes. Drain and return to the pot.
Add butter and milk to the potatoes and mash until smooth. Season with salt and pepper.
Transfer meat mixture to a baking dish, then spread mashed potatoes on top evenly.
Bake in preheated oven for 25-30 minutes or until the potatoes are golden brown.
Let it cool slightly before serving.