In a large skillet, heat the vegetable oil over medium heat. Add the onion and garlic and sauté until softened, about 5 minutes.
Add the ground beef to the skillet and cook until browned, breaking it up with a spoon as it cooks.
Add the thyme, paprika, cumin, salt, and black pepper to the skillet and stir well to combine.
Pour in the beef broth, diced tomatoes, and tomato paste. Stir well and bring to a simmer.
Add the frozen mixed vegetables to the skillet and stir well to combine. Let simmer for 5-10 minutes.
Meanwhile, in a separate pot, boil the potatoes until tender. Drain and mash with the milk, butter, salt, and black pepper.
Spread the beef mixture evenly in a 9x13 inch baking dish. Spread the mashed potatoes over the top. Brush the beaten egg over the top of the mashed potatoes.
Bake in the preheated oven for 25-30 minutes, or until the potatoes are golden brown.