Put the gammon in a large saucepan and pour on enough cold water to cover. Add the carrots, leek, onion, peppercorns, coriander seeds and bay leaves.
Bring to the boil, turn down to a simmer and cook for 3 hours, topping up with more boiling water if necessary.
Skim off the froth and any impurities that rise to the surface from time to time. If cooking in advance, let the ham cool in the stock overnight. Otherwise, allow it to cool a little, then remove from the pan. Strain the stock (and save for soup etc).
To make the glaze, put the sugar, Madeira, sherry vinegar, and honey in a pan and stir over a low heat.
Bring to the boil, lower the heat and simmer for 3–4 minutes until you have a glossy dark syrup. Do not leave unattended, as it will easily boil over.
Preheat the oven to 170C/Gas Mark 3.
Lift the ham into a roasting tin. Snip and remove the strings and then cut away the skin from the ham, leaving behind an even layer of fat. Lightly score the fat all over in a criss-cross, diamond pattern, taking care not to cut into the meat.
Stud the centre of each diamond with a clove. Pour half of the glaze over the ham and roast for 15 minutes.
Pour on the rest of the glaze and return to the oven for another 25–35 minutes until the ham is golden brown, basting with the pan juices frequently. It helps to turn the pan as you baste to ensure the ham colours evenly.
Remove from the oven and allow to rest for 15 minutes before carving. Garnish with sprigs of watercress, baby carrots and chargrilled onion.