Preheat the oven to 350°F. Butter a large casserole dish or skillet.
Place the potatoes and parsnips in a large pot and cover with water. Add 1 tablespoon of salt and place over high heat. Bring to a boil, then reduce to a simmer and cook until the parsnips are tender, about 15 minutes.
While the vegetables are cooking, place a large skillet over high heat. Add the oil followed by the beef, onions, and carrots. Season with salt and pepper. Cook until all the liquid has evaporated from the pan and the meat begins to brown, about 15 minutes.
Add the Worcestershire sauce and tomato puree and continue cooking. In a small bowl, whisk together the beef stock and cornstarch. Stir the cornstarch mixture into the beef and cook just until thickened. Remove from the heat.
Drain the parsnips and potatoes once they are tender, then return them to the pan they were cooked in. Place over medium heat and cook until all the water has evaporated.
Add the milk and butter to the potatoes and parsnips, then mash until you achieve your desired consistency. Season generously with salt and pepper, then stir to combine.
Pour the meat mixture into the prepared casserole dish or skillet. Top with the parsnip mixture and spread to evenly distribute. Bake in the oven until the top is golden, about 30 minutes. Allow to rest 5 minutes before serving.