Heat the large skillet over medium heat until hot and add a tablespoon of oil. Once shimmering, add chopped onions and cook, stirring often, until translucent and fragrant, about 5 minutes.
Add the ground lamb to the skillet, breaking it apart with your spatula. Cook until browned and cooked through, about 8-10 minutes, until you see a deep golden crust forming.
Stir in the diced carrots and peas, cooking for another 5 minutes until the vegetables soften and release their aroma.
Pour in the gravy or stock, stirring to combine everything. Reduce the heat to low and simmer for 10 minutes, allowing the mixture to thicken slightly and flavors to meld.
Meanwhile, peel and chop the potatoes, then boil them in salted water until very tender, about 15-20 minutes. Drain well and mash with butter and warm milk until fluffy and smooth.
Preheat your oven to 200°C / 390°F. Spread the meat and vegetable filling evenly into your baking dish, smoothing the top with the back of a spoon or spatula.
Dollop the mashed potatoes over the filling, spreading evenly to cover. Sprinkle with grated cheddar cheese if using, then place the dish in the oven.
Bake uncovered for 25-30 minutes, until the top is golden and bubbly around the edges. If the top browns too quickly, tent with foil to prevent burning.
Remove from the oven and let rest for about 5 minutes before slicing. This helps the layers settle and prevents spilling when serving.
Slice into portions and serve hot, enjoying the crispy top and flavorful, bubbling filling inside.