Preheat and prep: Heat your oven to 400°F (200°C).
Lightly grease a 9x13-inch baking dish or a similar casserole pan.
Make the mashed potatoes: Boil peeled, chopped potatoes in salted water until tender, about 15–20 minutes. Drain well, then mash with butter, warm milk or cream, salt, and pepper. Aim for a soft, spreadable consistency.
Brown the meat: Warm olive oil in a large skillet over medium-high heat.
Add the ground lamb or beef and cook, breaking it up, until browned with crispy bits. Season with salt and pepper. Spoon off excess fat if needed.
Sweat the veggies: Add onion, carrots, and celery to the skillet.
Cook until softened, about 6–8 minutes. Stir in garlic and cook 1 minute until fragrant.
Build the sauce: Stir in tomato paste and cook 1–2 minutes to caramelize. Sprinkle the flour over the mixture and stir for 30 seconds.
Add Worcestershire, broth, and herbs, scraping up any browned bits. Simmer 3–5 minutes until slightly thickened. Taste and adjust salt and pepper.
Add the vegetables: Stir in peas and corn.
Turn off the heat. The filling should be saucy but not soupy.
Assemble: Spread the meat mixture evenly in the casserole dish. Dollop the mashed potatoes over the top and gently spread to the edges to seal.
Use a fork to make ridges for extra browning. Sprinkle cheddar and a pinch of paprika if using.
Bake: Place the casserole on a sheet pan to catch drips. Bake 20–25 minutes, until the top is golden and the edges bubble.
Rest and serve: Let it rest 10 minutes to set, then scoop generous portions.
Serve with a crisp green salad or steamed greens.