Peel and dice the potatoes into one inch pieces. Add to a pot, cover with water and add a pinch of salt. Cover and bring to a boil. When potatoes are soft, drain and return to the pan. Add the butter and milk, and mash until smooth. Set aside.
Dice the carrots and onion.
In a large, deep frying pan, heat up the oil.
Add the carrots and onions. Sauté for five minutes.
Add the meat, breaking it up with wooden spoon or spatula. Cook for five minutes.
Add the tomato puree, Worcestershire sauce, beef stock, and salt and pepper to taste. Stir to mix. Reduce the heat to medium-high and let it cook for 20 minutes.
Stir in the peas.
Spoon the mixture into a casserole dish. Top with the mashed potatoes smoothing an even layer all over.
Top with the shredded cheese.
Bake in a preheated oven at 400°F until cheese is melted and mash turns golden brown (about 20 minutes).
Serve!