Peel and slice the potatoes.
Place in a large 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.
Drain the potatoes in a colander and then return to the saucepan.
Mash the potatoes using a potato masher or a hand mixer. Then add butter, milk and salt and pepper.
Continue to mash until smooth. And set aside to use later.
Preheat the oven to 400 degrees F.
While the potatoes are cooking, prepare the meat filling. Place the olive oil into a large saute pan and set over medium high heat.
Add diced onion, ground beef and Montreal seasoning.
Cook meat on medium-high heat until meat is browned.
When meat is browned, drain excess fat and return to pan.
Sprinkle the meat with the flour and toss to coat, continuing to cook for 1-2 minutes.
Add beef broth and lower heat to low. Cook another 5-7 minutes, stirring constantly, until gravy thickens.
Place meat filling in a 9x13 casserole dish.
Carefully spoon mashed potatoes over the meat mixture.
Sprinkle mashed potatoes with grated cheese.
Place, uncovered, on the middle rack of the oven and bake for 20 minutes.
Let stand for 5 minutes before eating.
ENJOY!
The special ingredients to this recipe is the meat mixture. The combination of Montreal Steak seasoning and the beef broth makes this recipe especially savory and flavorful.
Also, I always use Cracker Barrel Sharp Cheddar Cheese for the topping and grate the cheese myself. When you grate cheese yourself (opposed to buying pre-shredded cheese), the cheese melts better and has much better flavor.