For the potatoes:
1 1/2 pounds potatoes
1/4 cup milk
2 ounces unsalted butter
3/4 teaspoon kosher salt
1/4 teaspoon freshly ground black pepper
2 teaspoons garlic powder
1 teaspoon onion salt
1/4 cup Parmesan cheese, grated
extra Parmesan cheese for sprinkling over top
For the meat filling:
2 tablespoons canola oil
1 cup chopped onion
2 carrots, peeled and diced small
2 cloves garlic, minced
1 1/2 pounds ground beef
1 teaspoon kosher salt
1/2 teaspoon freshly ground black pepper
2 tablespoons all-purpose flour
2 teaspoons tomato paste
1 cup chicken broth
1 teaspoon Worcestershire sauce
2 teaspoons rosemary
1 teaspoon thyme
1/2 cup frozen corn kernels or 1 can creamed corn
Peel the potatoes and cut into quarters. Place in a medium saucepan and cover with cold water. Set over high heat, cover and bring to a boil. Once boiling, uncover, decrease the heat to maintain a simmer and cook until tender, approximately 10 to 15 minutes. Drain the potatoes in a colander and then return to the saucepan. Mash the potatoes and then add the milk, butter, salt and pepper, garlic powder, onion salt, and Parmesan cheese and continue to mash until smooth.
Preheat the oven to 400 degrees F.
While the potatoes are cooking, prepare the meat filling. Place the canola oil into a large pot and set over medium high heat. Once the oil shimmers, add the onion and carrots and saute just until they begin to take on colour, approximately 3 to 4 minutes. Add the garlic and stir to combine. Add the ground beef, salt and pepper and cook until browned and cooked through, approximately 3 minutes. Sprinkle the meat with the flour and toss to coat, continuing to cook for another minute. Add the tomato paste, chicken broth, Worcestershire, rosemary, thyme, and stir to combine. Bring to a boil, reduce the heat to low, cover and simmer slowly 10 to 12 minutes or until the sauce is thickened slightly.
Add the corn (if frozen) to the beef mixture and spread evenly into an 11 by 7-inch glass baking dish. If using creamed corn, spread a thin layer of corn on top of the beef layer. Top with the mashed potatoes, starting around the edges to create a seal to prevent the mixture from bubbling up and smooth with a fork. Place several pats of butter on the top and sprinkle with Parmesan cheese. Place on a cookie sheet on the middle rack of the oven and bake for 25 minutes or just until the potatoes begin to brown. Turn the oven on broil for the last few minutes to get the potatoes nice and crispy on top. Remove to a cooling rack for at least 15 minutes before serving.
Adapted from Alton Brown