In a large skillet, heat a splash of olive oil over medium heat. Add the chopped onion and sauté for 3-4 minutes until translucent.
Stir in the minced garlic and grated carrot, cooking for an additional 2 minutes.
Add the ground meat to the skillet, breaking it up with a spoon. Cook until browned, about 5-7 minutes.
Pour in the beef broth and Worcestershire sauce, followed by the dried thyme, paprika, salt, and pepper. Bring to a simmer and let it cook for 10 minutes until slightly thickened.
While the meat mixture is simmering, bring a pot of salted water to a boil. Add the diced potatoes and cook until tender, about 15 minutes.
Drain the potatoes and return them to the pot. Add the butter and milk, then mash until smooth and creamy. Stir in half of the shredded cheese and season with salt and pepper to taste.
In a baking dish, spread the meat mixture evenly across the bottom.
Carefully spoon the mashed potatoes over the meat, smoothing out the top with a spatula.
Sprinkle the remaining cheese on top of the mashed potatoes.
Bake in the preheated oven for 20-25 minutes, or until the top is golden and crispy.
Let the pie cool for a few minutes before serving.
Notes
Serve in slices garnished with fresh herbs for added color.