Preheat the oven to 180°C, fan 160°C, gas 4. Cook the onion, carrots and celery in half the oil for 15-20 minutes until soft.
Turn up the heat and add the mince. Brown the meat for a few minutes, then stir in the tomato purée, thyme and flour. Cook for 1 minute, then pour in the stock and both the soy and Worcestershire sauces. Bring to the boil and simmer for 30 minutes.
Meanwhile, put the swede and potatoes into a pan of water and bring to the boil. Cook for 20 minutes or until soft.
Fry the leeks in the remaining oil until soft and slightly golden. Once the swede and potatoes are cooked, drain and mash with the milk, then stir in the leeks.
Season the mince to taste and pour into a large, square ovenproof casserole dish. Top with the mash and cook in the oven for 30 minutes until golden on top and bubbling at the edges.