Preheat oven to 400°F and brown ground beef in a large oven-safe skillet over medium-high heat, breaking it up as it cooks, about 8 minutes.
Add diced onion to the beef and cook until softened, then add garlic, flour, and tomato paste, stirring for 2 minutes.
Pour in beef broth and Worcestershire sauce, add thyme, salt, pepper, and frozen vegetables, then simmer for 10 minutes until mixture thickens.
Spread prepared mashed potatoes evenly over the meat mixture, brush the top with melted butter, and sprinkle with cheese if using.
Bake for 20-25 minutes until potatoes are golden brown on top, then optionally broil for 2-3 minutes for extra browning.
Let stand for 5 minutes before serving to allow the filling to set up properly.