Preheat the oven to 400°F.
For the Potato Topping: 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 ½ 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.