Heat the oil over medium heat in a large pot or Dutch oven. Add the onion and saute until translucent, about 2-3 minutes. Add the garlic and saute another minute.
Add the ground beef and crumble as it cooks. Season with salt and pepper and cook until browned. If you have any grease in your skillet, go ahead and drain it off now.
Add the beef broth, Worcestershire sauce, and tomato paste and stir until combined and no lumps remain. Bring to a simmer, and simmer for 10-15 minutes until the sauce has reduced and thickened.
Add the frozen vegetables and fresh herbs. Stir until combined, then set aside. Preheat oven to 400 degrees.
Make the cauliflower topping by bringing a pot of water to a boil, then steaming the cauliflower with a steamer basket for about 10-15 minutes, or until fork mashable.
Drain and transfer the cauliflower to a large bowl, blender, or food processor, and add the butter, grated parmesan cheese, garlic powder, salt, and pepper. Use an immersion blender, blender, or food processor to blend until smooth.
Pour the meat mixture into a greased 8x8 baking dish. Then top with the mashed cauliflower, spreading it evenly over the meat mixture. Place the baking dish on a baking sheet (to prevent spills) and bake in the preheated oven for 30-35 minutes. Allow to cool slightly, then serve!