Heat oil in large fry pan. Over medium heat, cook onion, carrot and celery until softened and lightly colored, stirring occasionally.
Add ground beef and cook through. Stir in flour and cook a few minutes longer.
Add beef stock, soy sauce, Worcestershire sauce, tomato sauce, tomato paste and bay leaves. Turn heat down and simmer for 30 minutes, stirring occasionally.
Remove from heat. Remove bay leaves and add parsley.
For topping, boil potatoes and parsnips in salted water until cooked through. Drain. Return to pan and mash with butter and milk, adding salt to taste.
Preheat oven to 350 degrees and lightly grease and oven proof dish. Spoon filling into dish and spread topping over, fluffing with a fork.
Bake for 25 minutes or until golden. Garnish with a little extra chopped parsley, if desired. Serves 6 to 8.