Into a large saucepan, add potatoes and cover with water by 1 inch. Bring to a boil, then reduce the heat to low. Simmer for about 20 minutes, until very tender.
Drain the potatoes and return them to the pan. Add vegan butter, salt, and pepper. Use a potato masher and mash the potatoes until they are at your preferred consistency. Stir well and adjust seasoning to taste.
Preheat oven to 400°F.
In a large skillet over medium-high heat, add vegetable oil. Once hot, add onions and carrots. Sauté for 3 minutes, until softened. Add garlic and cook for 1 more minute.
Add the vegan ground beef substitute, salt, and pepper. Cook, stirring often, until browned and heated through.
Sprinkle flour evenly over the mixture and stir to coat.
Add tomato paste, broth, Worcestershire sauce, rosemary, and thyme. Stir well, cover, and reduce the heat to low. Simmer for 10 minutes, stirring occasionally. Add frozen corn and frozen peas, stirring to combine.
Transfer the filling to an 8x8-inch baking dish, spreading it into an even layer. Top with mashed potatoes, spreading them to fully cover the filling.
Bake, uncovered, for 25 minutes, until the potatoes are lightly golden and the filling is bubbling. Serve hot.