01 - Preheat the oven to 400°F.
02 - Place potatoes in a large pot, cover with salted water, and bring to a boil. Cook 15–18 minutes, until fork-tender. Drain, then mash with butter, milk, salt, and pepper until smooth. Set aside.
03 - While potatoes cook, heat olive oil in a large skillet over medium heat. Add onion and carrots; sauté 5 minutes until softened. Add garlic; cook 1 minute.
04 - Add ground beef; cook until browned, breaking up any lumps. Drain excess fat if needed.
05 - Stir in tomato paste, flour, thyme, and rosemary; cook 1 minute.
06 - Pour in beef broth and Worcestershire sauce. Simmer 4–5 minutes until slightly thickened.
07 - Add peas and parsley. Season with salt and pepper. Remove from heat.
08 - Spoon beef mixture into a 9x13-inch baking dish. Spread mashed potatoes on top, creating peaks with a fork for texture.
09 - Bake 25–30 minutes, until the top is golden and filling is bubbling.
10 - Let rest 10 minutes before garnishing with extra parsley and serving.