1Put the ham in a large lidded pan or stockpot, cover with cold water and bring to the boil, then drain and discard the water
2Return the ham to the pan, cover with fresh cold water and add the carrot, celery, onion and bay leaves. Bring to the boil again, then turn the heat down to a rolling boil, cover with a lid, and cook for 1 hour, 40 minutes or until cooked (allow 20 minutes per 500g/1lb 2oz, plus an extra 20 minutes). Drain the ham (you could keep the cooking water and vegetables to make a soup)
3Meanwhile, 20 minutes before the ham is cooked, preheat the oven to 200°C/400°F/Gas 6. Mix together the marmalade and ginger
4Put the ham on a chopping board, leave until cool enough to handle, then pull or cut off the skin, leaving an outer layer of fat on the ham. Pat the fat dry with kitchen paper then use a sharp knife to make diagonal slices, spacing the slices about 1cm apart. Change direction and slice the fat in the opposite direction to form a diamond pattern. Press the cloves into the fat, making sure that they are fairly evenly spaced, spoon the marmalade mixture over the top then season with pepper
5Put the ham into a small roasting tin and roast for 25–30 minutes, basting the joint occasionally until the glaze is golden. Remove from the oven, cover loosely with foil and leave to rest for 15 minutes before carving into slices.