Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
5.0
(6)
Export 13 ingredients for grocery delivery
Step 1
Move oven rack to upper-middle position and preheat oven to 375 degrees F. Lightly grease a 9x13-inch baking dish with nonstick cooking spray; set aside.
Step 2
Add potatoes to large pot and enough water to cover them by 1 inch. Set the heat to high and bring potatoes to boil. When boiling, reduce heat to medium and cook until tender, about 12-18 minutes.
Step 3
While potatoes boil, make the filling. In a large skillet over medium-high heat melt butter. Add onion and saute until opaque and starting to turn light brown around the edges, about 4-5 minutes.
Step 4
Add ground beef, salt, and pepper and use a wooden spoon to break the meat up into small pieces. Cook, stirring often, until the beef is cooked through, about 8-10 minutes. Stir in flour and tomato paste and cook for 2 minutes.
Step 5
Stir in beef broth, milk, Worcestershire sauce, and thyme and bring to a simmer. Once simmering, reduce heat to medium and cook until thickened, about 5-7 minutes.
Step 6
Drain in a colander and transfer potatoes back to pot. Add butter, cream cheese and milk. Mash until smooth, adding more milk (1 tablespoon at a time) until potatoes are thick but easily spreadable. Season potatoes with salt and pepper.
Step 7
Pour meat filling into prepared baking dish and shake into an even layer. Evenly distribute peas and carrots over meat.
Step 8
Using a rubber scraper, spread potatoes over peas and carrots. Use a for to make ridges over potatoes by dragging the fork lightly through the potatoes. Brush potatoes with beaten egg and bake until the meat filling is bubbly, about 15-20 minutes.
Step 9
Turn on the broiled and broil for 2-5 minutes, or until the top of the potatoes are golden brown.
Step 10
Cool on a wire rack for 5-10 minutes, and then serve!