Heat up cast iron skillet with olive oil on medium heat.
Finely dice onion and add into preheated pan. Allow to brown and soften for 5 minutes.
Wash, peel, and quarter potatoes. In a separate pot boil enough water to submerge potatoes fully and cook for 25 minutes or until fork tender.
In the pan with onion add in ground beef. Add in minced garlic, spices, salt and pepper. Allow spices to flavor meat as it cooks for 3-5 minutes before adding chopped tomato.
Cover pan and on a low heat allow tomatoes to soften for 8-10 minutes.
Once tomato is softened uncover and add in frozen vegetables. Mix vegetables in and cover and cook for 10 minutes. Combine cornstarch and water to make a slurry and add this into ground beef filling to thicken. Mix in and set the filling aside to finish mashed potatoes.
Turn your attention back to now cooked potatoes. Drain and mash potatoes thoroughly with fork or potato masher then mix in butter, heavy cream, and salt to taste. Taste to make sure salt is to your liking.
Take large spoonfuls of mashed potatoes and place all over beef filling in skillet. Smooth mashed potatoes flat with spoon and then use spoon to create indents on surface of mashed potatoes. These edges will crisp up in oven.
Place pie into preheated 400° F oven for 30 minutes. After time is up keep shepherds pie in oven and turn broiler on high and broil for 2-3 minutes until top is golden brown and crisp.
Carefully take out of oven and allow to cool for 5-10 minutes before garnishing with chopped parsley and serving.
Enjoy!