Topping: Peel and slice the potatoes into 2 inch cubes. In a large saucepan cover the potatoes with water and boil until fork tender, about 15 minutes. Drain the potatoes and return to the pan. Mash the potatoes with the milk and butter. Salt and pepper to taste
Filling: While the potatoes are cooking, in a large oven safe skillet ( I use a 12 inch oven safe pan, or you can use a casserole pan or even cast iron) heat up the olive oil over medium high heat. Brown the ground beef in the oil for 5-7 minutes until mostly brown.
Add in the onion and garlic and cook for an additional 3 minutes, until the onion is fragrant and translucent.
Sprinkle the flour over the meat and onion mixture, with a wooden spoon stir to coat well.
Pour in the tomatoes, beef broth, tomato paste, Worcestershire and thyme. Mix with a whisk until smooth. Allow the filling to simmer until a thick, gravy-like consistency has formed.
Add the frozen vegetables.
To assemble the shepherd's pie. With a large spoon, drop spoonfuls of the mashed potatoes on top of the meat filling. With the back of the spoon, spread out the potatoes to cover the filling making sure to try and seal the edges, so the meat will stay inside.
Cover the pie with the grated cheese and bake in the preheated oven for 20-25 minutes, until the potatoes are golden and the cheese is melted and bubbly.
Video
Notes
Please note for this recipe I used a 12 inch oven safe pan. If you don't have one, you can make the filling on the stovetop and then transfer to a 9 x 13 inch baking dish and top with potatoes and bake as instructed.