Prep the potatoes: Add peeled, chopped potatoes to a large pot. Cover with cold, salted water by about an inch. Bring to a boil, then simmer 12–15 minutes until fork-tender.
Brown the beef: While potatoes cook, heat a large skillet over medium-high.
Add ground beef and a pinch of salt. Cook, breaking it up, until browned and no pink remains, about 6–8 minutes. Drain excess fat if needed, leaving about 1–2 tablespoons in the pan.
Build flavor: Add chopped onion to the skillet.
Cook 3–4 minutes until softened. Stir in garlic and cook 30 seconds until fragrant.
Season and simmer: Stir in tomato paste and cook 1 minute to caramelize. Add beef broth, Worcestershire, smoked paprika, and thyme.
Bring to a simmer and cook 5–7 minutes, stirring occasionally, until slightly thickened. Taste and season with salt and pepper. Stir in peas and carrots and simmer 2–3 minutes until heated through.
For richness, finish with 1–2 tablespoons butter.
Drain and mash: When potatoes are tender, drain well and return to the warm pot. Add butter, 1/2 cup warm milk or half-and-half, and sour cream (if using). Mash to your preferred texture.
Add more milk as needed. Season generously with salt and pepper.
Assemble: Spoon a hearty scoop of mashed potatoes into bowls. Top with the savory ground beef mixture and its sauce.
Finish with chopped parsley or chives.
Serve: Enjoy hot with a green salad or steamed veggies on the side for balance.