Mix the meat and onion together. Heat the oil in a frying pan and fry the meat mixture until brown, then stir in the carrots, parsley and flour.
Gradually add the stock and cook, stirring, until the mixture is thick and boiling. Season to taste.
Grease a 2 pint pudding basin. Roll out the pastry on a lightly floured surface and cut a circle that will fit the bottom of the basin. Place a layer of meat ove this, then add another circle of pastry, continuing to fill the basin with alternate layers, finishing with a circle of pastry.
Cover the pudding with greaseproof paper and kitchen foil and seal. Put in a large pot and fill pot with hot water to come up half way up the sides. Put the cover on the pot and steam the pudding for 1 to 1 1/2 hours, topping up the water when necessary.
Serve direct from the basin with boiled potatoes and a green vegetable.