01 - Preheat your oven to 400°F.
02 - Place potatoes in a large pot, cover with cold salted water, and bring to a boil. Simmer for 15-20 minutes, until fork-tender.
03 - While potatoes cook, heat olive oil in a large skillet over medium heat. Add onion and cook for 3-4 minutes until softened. Stir in garlic and cook for 1 minute more.
04 - Add ground beef and cook, breaking it up, until browned for about 6-8 minutes. Drain excess fat if needed.
05 - Stir in tomato paste, Worcestershire sauce, thyme, rosemary, salt, and pepper. Cook for 2 minutes.
06 - Pour in beef broth and simmer for 5 minutes, allowing the mixture to thicken slightly.
07 - Add peas and corn; cook for another 2 minutes. Remove from heat.
08 - Drain cooked potatoes and return to pot. Add butter, milk, salt, and pepper. Mash until smooth and creamy.
09 - Spread the beef mixture evenly in a 9x13-inch baking dish. Spoon mashed potatoes over the beef and spread into an even layer. Sprinkle with cheddar cheese if using.
10 - Bake for 25 minutes, or until the top is lightly golden and filling is bubbling. Broil for 2-3 minutes for a crispier top, if desired.
11 - Let cool for 10 minutes before serving.