In a large skillet over medium heat, add the ground beef. Cook until browned, breaking it up with a spatula (about 5-7 minutes).
Drain excess fat, then add the diced onion and minced garlic. Sauté until the onion is translucent (about 3-4 minutes).
Stir in the carrots and cook for an additional 5 minutes until slightly softened.
Add frozen peas, tomato paste, Worcestershire sauce, dried thyme, dried rosemary, and beef broth. Stir well to combine.
Sprinkle flour over the mixture, stirring to thicken the sauce, and allow it to simmer for about 5 minutes. Season with salt and pepper to taste. Remove from heat and set aside to cool.
In a large bowl, combine the all-purpose flour and salt. Cut in the cold butter with a pastry cutter or your fingertips until the mixture resembles coarse crumbs.
Add the sour cream and cold water, mixing until the dough just comes together. If it's too dry, add a little more cold water, a tablespoon at a time. Avoid over-kneading.
Divide the dough in half, wrap in plastic wrap, and refrigerate for at least 30 minutes.
Preheat your oven to 400.
Roll out one half of the dough on a floured surface to fit a greased 9x13 inch baking pan. Press the dough evenly into the bottom.
Pour the cooled beef filling over the bottom crust, spreading it out evenly.
Roll out the second half of the dough and place it over the filling. Seal the edges by crimping with a fork or pinching with your fingers. Cut a few slits on the top to allow steam to escape.
Brush the top with the beaten egg for a golden finish.
Place the baking pan in the preheated oven and bake for 25-30 minutes or until the crust is golden brown.
Remove from the oven and allow to cool for a few minutes. Cut into squares, garnish with freshly chopped parsley, and serve warm.