Soak the ham in water for 12 hours prior to cooking, to remove any excess salt.
Rinse the ham and place in a large stock pot or saucepan with the onion and bay leaves. Cover with cold water and simmer for 3 hours until the meat becomes tender.
Preheat the oven to 180°C, 350°C, gas mark 4. Remove the ham from the water and allow to cool for a few minutes.
Cut away any skin, leaving a good layer of fat, then carefully score the fat in a diamond pattern, making sure not to cut into the meat.
Place on a baking tray and stud the ham with the cloves in the scores that you have made on the fat.
Gently heat the jam in a saucepan and stir in the sherry and cinnamon. Use this to glaze the ham generously.
Bake in the oven for 45-50 minutes, or until sticky and golden, then leave to rest for 15 minutes before carving.