In a large sauté pan fry the onions, carrots, and celery in your oil of choice until softened and beginning to colour
Add the garlic and peas and fry for a couple of minutes more
Optionally add maize here too
Remove the veg from the pan, increase the heat, and brown the meat well, in batches if necessary, seasoning as desired
Return the veg to the pan, add the tomato paste, stir, and cook out for a minute
Add enough flour to absorb any fat and liquid in the pan, about a heaped tablespoon, and cook out for a couple of minutes over low heat
If using, add the wine and stir well to pick up all the tasty bits from the pan
Add the stock, herbs and Worcestershire sauce and stir well
Bring to a simmer and cook for 30 minutes or so, stirring occasionally, until the liquid is reduced and thickened and you have a kind of thick meat sauce
Transfer to an oven-proof casserole dish and let cool completely
Remove the herbs
At this stage you can cover and put it in the fridge until you're ready to finish it off
If you don't cool the meat the mashed potato tends to sink into it and you get a weird soggy Shepherd's Pie
When you're ready, preheat the oven to 200°C
Make mashed potatoes
Use a large spoon (or a piping bag if you're being really fancy) to transfer the mash to the meat dish
Use a fork to add some ridges to the potatoes - these catch and crisp in the oven, adding texture
Top with grated cheese or some dots of butter
Place in the hot oven for 20 minutes or until the top has turned golden brown and crisp
Serve with the veg of your choice - many people also make extra gravy to pour over