To make the filling, heat a non-stick frying pan over a high heat. Add the beef and fry, stirring occasionally, for 4 minutes until browned on all sides. Transfer to a bowl, add the kidney and set aside.
Heat the oil in the pan, then add the leeks. Stir, then cover and cook gently for 4 minutes until starting to soften. Stir in the swede and carrots, cover and cook for a further 4 minutes until lightly browned. Add the beef and kidney and season to taste, then add the flour and toss well to coat. Pour in the stock and bring to the boil, stirring. Simmer for 2 minutes. Remove the pan from the heat and set aside.
To make the pastry, tear the bread into small pieces and put into a food processor. Pulse until fine crumbs are formed. Add the flour, thyme and margarine and season with a little salt and pepper. Pulse again to combine, then, with the motor running, pour in enough of the cold water to form a soft dough.
On a lightly floured surface, roll out three-quarters of the dough, to a circle large enough to line a 1 litre pudding basin. Line the basin carefully, then fill with the steak and kidney mixture. Trim the excess pastry. Roll out the remaining pastry to form a lid, wet the edges of the dough and place on top of the filling, sealing the edges well with your fingers.
Cover the basin with a double thickness of foil, pleated in the middle and secured with string. Steam the pudding over simmering water for 3 hours. Serve the pudding hot.