In a large skillet or dutch oven, brown the ground beef over medium-high heat. Drain any excess fat.
Add onions and carrots, and cook until onion is soft, and the carrots begin to soften.
Add tomato paste, thyme, beef stock, Worcestershire sauce, soy sauce and season with salt and pepper.
Bring to a boil, then simmer, covered, for around 15 minutes.
Turn the heat up, then add cornstarch to the water and mix. Add the mixture to the skillet, and cook until it thickens.
Add the frozen peas, and mix in (the heat from the meat mixture is enough to cook the peas).
Boil the potatoes until tender, then mash with the butter, milk, salt, and pepper.
Preheat the oven to 375.
Pour beef mixture into an 8 x 8 (square) dish.
Spread the mashed potatoes over the top of the beef mixture and score the top with a fork (for crispy peaks).
Bake for 20 minutes in the preheated oven until the top is brown and crispy.
Allow to cool for 5 minutes, then serve.