Fill a large saucepan with lightly salted water and bring to the boil over a high heat. Add the potatoes and cook until just tender but still quite firm then add the cauliflower for the remainder of cooking time, about 6 to 8 minutes (the cauliflower will take less time to cook than the potatoes). Drain and set aside.
Meanwhile, in a frying pan over a medium heat warm a little oil and add the onions and cook and stir until soft, about 5 minutes. Add the beef mince and stir to brown. If desired, drain the fat.
Preheat the oven to 180 C / Gas 4.
Add the mushrooms and leeks and cook until soft. Pour over the stock, season well and simmer for 5 to 10 minutes then gradually sprinkle in gravy granules and stir until the sauce has thickened. Stir in the parsley then spoon into the base of a casserole dish.
Mash the potatoes and cauliflower together with the margarine and milk until smooth, seasoning well. Spoon the mash over the meat and smooth with the back of a spoon.
Bake in the oven for 40 minutes then remove and top with cheese. Return to the oven for 20 minutes until the cheese is melted and golden brown.
Goes well with roasted broccoli and cauliflower.
The beef can also be substituted for minced turkey, swapping the stock and gravy for poultry flavoured.