Preheat the oven to 200°C.
Heat olive oil in a large casserole and brown the seasoned lamb shoulder on all sides.
Remove the lamb and fry the whole baby onions for 4 to 5 minutes until golden.
Add garlic and three rosemary sprigs, return the lamb, and pour in wine and stock.
Spread 25g of butter over the exposed lamb and top with the final rosemary sprig.
Roast uncovered in the oven for two hours until tender and crisp.
Strain the juices into a pan and whisk in a mixture of flour and remaining filling butter.
Tear the lamb into pieces, place in a casserole with onions, and cover with the thickened gravy.
Boil the potatoes for 12 to 15 minutes, drain, and mash with milk and topping butter.
Pipe the mashed potatoes over the lamb filling and grill on high until brown.
Cook carrots in a covered pan with butter, sugar, and water for 6 to 8 minutes.
Boil the broccoli for 3 to 4 minutes until tender and serve alongside the pie.