To start, weigh the ham to calculate cooking time – 20 mins per 450g/1lb plus 20 minutes at end.
Place the ham in a snug fitting pot. Add cinnamon, cloves, peppercorns, bay leaf, onions and garlic. Cover with water and bring to boil over high heat, then cover with lid and simmer gently until cooked.
When ham is cooked remove from the pot to cool. (This can be done a day ahead). Remove the top layer of skin to leave a thin layer of fat around the meat. Lightly score the fat in diamond shapes with a sharp knife and place the ham in a parchment lined roasting tin.
Mix honey with cloves, sultanas and macadamia nuts, then set aside. Brush first with the mustard, coating the fat well, before gently spreading the honey, nut and sultana mix over the mustard.
Place in the oven at 180C for 20-30 minutes or until the top has caramelised. Turn the pan around a few times during cooking so the fat colours evenly, basting if necessary.
Remove ham from the oven to rest for 15 mins before carving. Can be roasted on the day, or up to 2 days ahead and served cold.