Heat the oil in a large saucepan and fry the onion until softened. Add the garlic and cook for a further few mins. Stir in the cinnamon, oregano and chilli flakes. Add the lamb and brown all over for a few mins, breaking it up with a wooden spoon. Drain the fat from the mince and return the pan to the heat. Stir in the tomato purée and cook for 1 min, then tip in the tomatoes. Half-fill the can with water and add to the pan. Stir well, season and simmer for 15 mins.
Preheat the oven to 180C/160C fan/gas 4. Lightly oil the bottom of a 1.5-litre ovenproof dish and arrange a third of the swede on the bottom. Ladle over half the mince mixture, top with another layer of swede, followed by another layer of lamb. Finish with a layer of swede.
For the topping, heat the butter in a small saucepan and add the flour. Stir briskly until you have a smooth paste. Remove from the heat and slowly add the milk until you have a smooth sauce. Return to the heat and cook for 4-5 mins until the sauce thickens. Remove from the heat and whisk in the egg and half the feta.
Pour the sauce over the top of the swede and sprinkle the surface with the remaining feta. Cover with foil and bake in the oven for 35-45 mins. Remove the foil and cook for a further 25-30 mins or until the top is golden and the swede is tender - be sure to test that the swede is fully cooked before serving. Leave to sit for a few mins before serving.