To a large pan add the potatoes, add cold water until the potatoes are covered and bring to a boil.
Turn down to a low boil and cook for 20 minutes until tender.
Drain the potatoes a colander, and add back to the pan. Mash until smooth and add the butter, milk, salt and pepper to taste. Mix well and set aside.
Preheat oven to 350°F.
Add vegetable oil to a heavy skillet over medium-high heat and add 1/2 of the beef. If the pan is too crowded, the meat will not brown, it will boil. Season with half of the salt and pepper, sauté until browned. Remove and set aside, repeat with the other half of the beef.
To the drippings (add more oil if needed) add the onion, cook until softened. Stir in the carrots, garlic and thyme, cook for 1 minute.
Add the tomato paste and Worcestershire sauce, mix well. Sprinkle the flour and mix in well, cook for 1 minute.
Add the beef stock and bring to a simmer. Cook for 5 minutes until some of the liquid has reduced.
Stir in the beef and turn off the heat.
Transfer the beef to your preferred dish and top with the mashed potato, grated cheese and breadcrumbs. Bake for 30 minutes until the top is golden.