01 - Preheat the oven to 400°F.
02 - Boil potatoes in salted water until fork-tender, about 15 to 20 minutes. Drain thoroughly.
03 - Mash potatoes with butter and milk until smooth. Stir in cheddar cheese if using and season with salt and pepper. Set aside.
04 - Heat olive oil in a large skillet over medium heat. Add onion, carrots, and celery; sauté for 5 to 7 minutes until softened.
05 - Add minced garlic and cook for 1 minute. Add ground lamb and cook, breaking up meat, until browned and no longer pink, about 6 to 8 minutes.
06 - Stir in tomato paste, Worcestershire sauce, thyme, rosemary, salt, and pepper. Cook for 2 minutes to develop flavors.
07 - Pour in beef or lamb stock; bring to a simmer and cook for 10 minutes, stirring occasionally, until slightly thickened.
08 - Stir in frozen peas and cook for an additional 2 minutes. Remove from heat.
09 - Transfer lamb mixture evenly into a 2-quart baking dish. Spoon mashed potatoes over the top and spread to cover fully. Use a fork to create surface ridges.
10 - Bake in the preheated oven for 25 to 30 minutes, until the topping is golden brown and the filling bubbles.
11 - Allow to rest for 10 minutes before serving.