Preheat oven to 400°F (200°C).
Prepare potatoes: Boil potatoes in salted water until fork-tender (15–20 minutes). Drain, mash with butter and warm milk, and season with salt and pepper. Set aside.
Cook vegetables: Heat olive oil in a skillet over medium heat. Add onion, carrots, and celery; cook until softened. Add garlic and cook for 1 minute.
Brown the meat: Add ground beef, lamb, or turkey. Cook until browned. If using shredded chicken, skip browning and add later with the sauce.
Build the filling: Stir in tomato paste and cook for 1 minute. Sprinkle flour (if using). Slowly add stock, Worcestershire, thyme, salt, and pepper. Simmer until thickened. Stir in peas.
Assemble the pie: Transfer filling to a baking dish. Spread mashed potatoes evenly on top, sealing edges. Create ridges with a fork. Sprinkle cheese on top if desired.
Bake: Place in preheated oven and bake 20–25 minutes, until the topping is golden and filling is bubbling.
Rest and serve: Let stand for 10 minutes before serving. Enjoy!