Preheat the oven to 400°F. In a large skillet, cook the ground lamb or beef over medium heat until browned, breaking it into small pieces with a spoon. Drain excess fat.
Add the onion, carrots, and garlic to the skillet. Cook for 5-7 minutes, stirring occasionally, until the vegetables are softened. Stir in the tomato paste, Worcestershire sauce, thyme, salt, and pepper.
Pour in the beef broth and add the frozen peas. Simmer the mixture for 3-5 minutes until slightly thickened, then remove from heat.
Meanwhile, place the potatoes in a large pot of salted water. Bring to a boil and cook until tender, about 15 minutes. Drain the potatoes and return them to the pot.
Mash the potatoes with the warmed milk and softened butter until smooth and creamy. Season with salt and pepper to taste.
Spread the meat mixture evenly into a 9x13-inch baking dish. Spoon the mashed potatoes over the top, spreading them with a spatula to cover the meat completely. Use a fork to create ridges on the surface.
If desired, sprinkle shredded cheddar cheese over the mashed potatoes. Bake in the preheated oven for 20-25 minutes, or until the top is golden and the filling is bubbly. Let cool for 5 minutes before serving.