Place the gammon in a large pot with the onions, carrots, bay leaves, and peppercorns. Cover with cold water, bring to a boil, then reduce to a gentle simmer. Cook for about 2 hours 30 minutes, or roughly 30 minutes per 500g. Skim off any scum that rises to the surface.
While the ham is cooking, make your glaze. Put the cranberries, clementine zest and juice, sugar, honey, star anise, and cinnamon stick in a saucepan. Simmer gently for about 15 minutes until the cranberries have burst and the mixture has thickened into a lovely jammy glaze. Remove the spices and set aside.
Preheat your oven to 190°C/375°F/gas mark 5. Once the ham is cooked, remove it from the pot and let it cool for 10 minutes. Carefully peel away the skin, leaving a nice layer of fat underneath.
Score the fat in a diamond pattern with a sharp knife – not too deep, just enough to create a pretty design. Stud the center of each diamond with a whole clove (this is a great job for kids!).
Place the ham in a roasting tin and generously brush all over with your cranberry-clementine glaze, making sure to get into all those lovely scored lines. Pour any remaining glaze around the base of the ham.
Roast for 45-50 minutes, basting every 15 minutes with the glaze from the tin. You want the outside to be beautifully caramelized and sticky – it should look absolutely gorgeous!
Let the ham rest for 10-15 minutes before carving. Serve warm or at room temperature with any extra glaze spooned over the top. This is delicious with roasted potatoes, mustard, and a crisp winter salad!