Heat oil in a large skillet over medium high heat. Add onion and garlic, cook for 1 minute. Then add carrots and celery. Cook for 3 minutes or until softened and sweet.
Turn heat up to high. Add beef and cook, breaking it up as you go, until browned.
Add flour and mix in. Add tomato paste, broth, red wine, bouillon cube, Worcestershire sauce, thyme, bay leaves, salt and pepper.
Bring to simmer, then turn down heat so it is simmering rapidly. Cook for 30 minutes, stirring occasionally, until it reduces down to a gravy consistency.
Transfer to 6 cup pie dish. Cover, cool if you have time.
Preheat oven to 180°C/350°F.
Cook potatoes in boiling water for 15 minutes or until soft. Drain then return to pot on turned off stove. Shake briefly and allow to steam dry for 30 seconds.
Add butter and mash until melted, then add milk and salt. Mash until smooth.
Spread onto pie, use a fork to rough up the surface. Sprinkle with parmesan, drizzle with butter.
Bake for 25 - 30 minutes or until golden on top and bubbling on the edges. Stand for 5 minutes before serving.
