Preheat oven to 400°F (200°C).
Place potatoes in a pot of salted water, bring to a boil, and cook until tender, about 15 minutes. Drain, then mash with butter, sour cream, and salt. Stir in optional cheddar cheese. Set aside.
In a large skillet, cook the ground beef over medium heat until browned. Drain excess fat.
Add diced onion, carrots, and garlic. Cook until softened, about 5 minutes.
Stir in tomato paste and flour, cooking for 1 minute.
Slowly pour in beef broth and Worcestershire sauce, stirring until thickened. Add peas and corn, season with salt and pepper, and remove from heat.
Spread beef mixture evenly in a baking dish. Top with mashed potatoes, spreading to cover completely. Use a fork to create ridges on top.
Bake uncovered for 20–25 minutes, or until the topping is golden brown and slightly crispy.
Remove from oven and let rest for 5 minutes before serving. Garnish with thyme and rosemary.