If you don’t have leftover mashed potatoes from another meal, start by boiling cubed, peeled potatoes in a large saucepan with enough water to cover the potatoes. Bring water to a boil over high heat, then reduce heat to medium and simmer until a knife easily pierces potatoes with no resistance, 10 -15 minutes. Exact timing depends on the size of your cubed potatoes, with larger cubes needing longer to cook.
Drain potatoes. Using a fork or potato masher, mash potatoes with butter and milk. Set aside until ready to assemble.
While the potatoes are boiling, brown ground meat in a large oven proof skillet or dutch oven, if available. Or use a regular skillet and plan to transfer to a casserole dish later. Drain excess fat.
Add onion, (optional carrots), celery, and garlic and cook, stirring and scraping the bottom of the pot, until veggies are just beginning to soften slightly.
Begin preheating oven to 425 F.
Sprinkle flour over ground meat in pot, then stir in.
Add tomato paste, beer or water, beef broth, thyme, and Worcestershire.
Bring meat mixture to a simmer, then reduce heat to low and simmer until sauce is reduced and thick, about 10-15 minutes. Season with salt and pepper to taste.
If needed, transfer meat sauce to a deep baking dish, being careful not to fill more than halfway. Top with mashed potatoes, leaving or creating a rough top texture to help with browning.
Transfer to the oven and bake until potato topping is browned and heated through, about 15-20 minutes depending on how cold the potatoes were when you put them in the oven.
Serve with a side of peas.