Heat the oven: Preheat to 200°C/400°F. Lightly grease a medium baking dish (about 2–2.5 litres/quarts).
Sauté the vegetables: Warm the oil or butter in a large pan over medium heat.
Add onion, carrots, and celery. Cook 6–8 minutes, stirring, until softened and lightly golden. Add the garlic and cook 1 minute more.
Brown the beef: Increase the heat to medium-high.
Add the minced beef, breaking it up with a spoon. Cook until browned and any liquid has mostly evaporated, about 6–8 minutes. Season with a pinch of salt and pepper.
Build flavour: Stir in tomato paste, Worcestershire, thyme, rosemary, and bay leaf.
Cook 1–2 minutes to toast the tomato paste slightly.
Thicken the base: Sprinkle in the flour and stir well to coat. Cook 1 minute. Gradually pour in the beef stock, stirring constantly to avoid lumps.
Simmer: Reduce heat to low and let it bubble gently for 10–15 minutes, stirring occasionally, until thickened to a rich, spoon-coating consistency.
Adjust seasoning. Remove the bay leaf and stir in the peas.
Prepare the potatoes: While the filling simmers, slice the peeled potatoes into 5–7 mm rounds (about 1/4 inch). Pat dry with a clean towel.
Toss with melted butter or oil, a pinch of salt and pepper, and garlic powder if using.
Assemble: Transfer the beef mixture to the baking dish. Arrange potato slices on top, overlapping slightly like roof tiles. If using cheese, sprinkle it over the potatoes.
Bake: Place on the middle rack and bake 30–40 minutes, until the potatoes are tender and golden on the edges and the filling is bubbling around the sides.
Finish and rest: Scatter with fresh thyme or parsley.
Let it rest for 5–10 minutes before serving so the juices settle.