Preheat oven to 350 degrees.
Boil the potatoes in water to cover until fork tender and then drain the water.
Add the butter, sour cream, milk and salt and pepper to taste and mash the potatoes with a hand masher or mixer until you reach your favorite mashed potato consistency. Set aside.
In a large skillet brown the ground beef along with the onions and garlic. Drain any excess grease.
To the same skillet add 2 cups of the frozen vegetables, cook for about 5-7 minutes, stirring occasionally.
Sprinkle the flour over the meat and veggies and stir to mix.
Add the tomato paste and stir to mix it in.
Then add the beef broth, Worcestershire sauce, rosemary, thyme, and bay leaf. Bring to a simmer and then reduce heat to low. Cook uncovered for 10 minutes, adding additional broth if necessary to prevent the meat from drying out.
Remove from heat. Spread the meat mixture in an even layer in a 9x13 dish that has been sprayed with nonstick spray.
Top the meat with the mashed potatoes making an even layer of potatoes. You can get all fancy and pipe the potatoes onto the meat or you can use a spoon and spread the potatoes evenly and then use a fork to make designs and ridges in the potatoes. These little ridges will brown nicely!
Place the dish in the oven and bake for 30 minutes until brown and bubbly. You can place it under the broiler for a few minutes to brown the potatoes more if necessary.