In a medium pot, bring the potatoes, 3 teaspoons salt, and enough water to cover by 1-inch to a boil over medium-high heat. Reduce heat to medium, and cook until potatoes are fork tender, 15 to 18 minutes. Drain well.
Return the potatoes to the pot. Using a potato masher, mash the potatoes until smooth. Stir in the half and half, butter, pepper, and remaining 1/2 teaspoon salt until the butter is melted and the mixture is combined. Cover to keep warm.
For the Meat Filling:
Light grease a 9x9-inch or 11x7-inch casserole dish.
In a large skillet, heat the oil over medium-high heat. Add the onion and carrots. Cook, stirring occasionally until softened, about 4 minutes.
Stir in the garlic and thyme and cook until fragrant, about 30 seconds. Add the ground beef, tomato paste, salt, and pepper. Cook until the meat is browned, stirring occasionally and using the spoon to break the meat up into small pieces, about 5 minutes.
Stir in the flour until combined. Gradually pour in the broth and Worcestershire sauce while stirring. Stir in the peas and corn. Transfer to the prepared casserole dish. Scoop the Potato Topping over the filling and spread into an even layer over.
Bake for 20 minutes or until the filling is bubbly. Let cool for 5 minutes before serving. Garnish with parsley or chives, if desired.
Notes
Have fun with the potato topping! You can pipe the potatoes over the filling or draw some ridge designs over the potatoes with a fork.
If desired, you can cook the filling in a 12-inch oven-proof skillet, top it with the potatoes, and bake in the skillet.
For a little extra comfort, you can sprinkle the top of the pie with grated parmesan or shredded cheddar cheese in the last few minutes of baking.
You can use a potato ricer instead of just mashing the potatoes if you’d like a silkier potato topping.
If you’re worried the potato topping will sink into the beef filling, allow the filling to cool for 5 to 10 minutes. Doing so will help keep the layers separate.
Keep an eye on the shepherd’s pie in the oven in the last few minutes so that the top of the potatoes doesn’t get burnt.