Heat the oil in a large pan and fry the chopped onion on a medium heat for about 3 minutes
Add the carrots and celery and cook for another 5 minutes until tender
Turn the heat up to high, add the mince to the pan and cook until nicely browned, stirring frequently
Reduce back to a medium heat, sprinkle over the flour and stir through
Stir in the tomato puree, mustard, worcestershire sauce and thyme and allow to cook for one minute
Pour in the red wine and stir for a few minutes as the alcohol cooks off
Bring the heat down to a simmer, put a lid on the pan and cook for 25-30 minutes
Meanwhile, prepare the sweet potato topping. Bring a large pan of water to the boil. add the chopped potatoes and cook for about 15 minutes or until tender enough for a fork to go through.
Drain the potatoes through a sieve and return to the empty pan. Add butter, milk and salt & pepper to taste. Mash until smooth.
Preheat the oven to 200°C or 180°C fan
Once the beef mixture has been simmering for 25 minutes, give it a stir and check the consistency. It should have a nice gravy-like thickness to it. If it hasn't thickened up enough, add another tablespoon of flour and simmer for another 5 minutes. Add your salt and pepper to taste.
Add the beef mixture to a medium sized ovenproof dish and spead in an even layer across the bottom. I use an oval shaped one that measures approx 29 x 18cm.
Spoon the mashed sweet potato on top and spread out to cover the beef mixture
Use a fork to score some lines into the potato layer. This will help the top crisp up.
If adding cheese, sprinkle over evenly before baking in the oven for 30-40 minutes or until the top is nice and crispy