Start by peeling and chopping the potatoes into chunks, then boil them in salted water until tender, about 15 minutes. Meanwhile, preheat your oven to 200°C (400°F).
While the potatoes cook, heat a tablespoon of oil in your skillet over medium heat. Add the chopped onion and minced garlic, cooking until fragrant and translucent, about 5 minutes. The kitchen will fill with a sweet aroma as the onions soften.
Add the ground meat to the skillet, breaking it apart with a spoon. Cook until deeply browned and caramelized, about 10 minutes. The meat should smell savory and look richly browned, with some crispy bits on the edges.
Stir in the diced or shredded carrots and peas, cooking for another 5 minutes until the vegetables are tender and the mixture looks thick and flavorful. Season with salt and pepper to taste.
If the filling looks a bit liquidy, stir in a tablespoon of flour or cornstarch mixed with water to thicken it. Cook for another minute until bubbling and thickened, then remove from heat.
Drain the cooked potatoes and mash them with butter and milk, stirring until smooth and fluffy. For extra flavor, you can fold in some grated cheese if you like.
Spread the meat and vegetable filling evenly in your ovenproof dish, then top with the mashed potatoes, smoothing with a spatula for an even layer. Sprinkle with grated cheddar cheese if desired for a golden crust.
Bake in the preheated oven for 20-25 minutes until the top is golden and crispy around the edges, and the filling is bubbling underneath. For extra crispness, broil for an additional 2-3 minutes, watching carefully to prevent burning.
Remove the dish from the oven and let it rest for about 5 minutes. This helps the filling set and makes slicing easier.
Slice into portions and serve hot, enjoying the crispy topping and savory filling that’s perfect for cozy nights.