The best Shepherd's Pie I've had was in the Bahamas at an Old English pub. The restaurant didn't use celery, and had mushrooms, peas, and chopped carrots in the pie. This is my version of that memorable pie eating experience.
Heat oil in a large saucepan over medium-high heat. Add onion, carrots, peas and mushrooms and cook, stirring, for 5 minutes or until soft. Add ground beef and cook, stirring to break up any lumps, for 5 minutes or until meat changes color.
Add the flour and cook, stirring, for 2 minutes or until combined. Add stock, bay leaf, Worcestershire sauce and tomato paste. Bring to the boil. Reduce heat to low and cook, stirring occasionally, for 45 minutes or until sauce thickens. Taste and season with salt and pepper.
Meanwhile: cook potato in a saucepan of salted boiling water for 15 minutes or until tender. Drain well. Return to the pan with the butter. Use a potato masher or fork to mash until smooth. Add milk and use a wooden spoon to stir until combined. Taste and season with salt and pepper.
Preheat oven to 200°C/400°F. Spoon ground beef/lamb mixture into a 2L (8-cup) capacity ovenproof baking dish. Top with mashed potato and use a fork to spread over lamb mixture. Brush with butter. Bake in preheated oven for 20 minutes or until mashed potato is golden brown. Serve immediately
Turn on broiler and cook under broiler for 3 minutes to brown the top of the potatoes if you want a crispy top.