Preheat and prep the pan. Heat your oven to 325°F (165°C).
Line a roasting pan with foil for easy cleanup and fit it with a rack if you have one.
Score the ham. Place the ham flat-side down. Using a sharp knife, lightly score the fat in a diamond pattern, about 1/4 inch deep. This helps the glaze soak in and creates a gorgeous finish.
Stud with cloves (optional). If you like that classic holiday aroma, press whole cloves into some of the intersections.
Don’t overdo it; a little goes a long way.
Arrange pineapple. Pat the ham dry, then place pineapple slices over the surface, securing with toothpicks. If using cherries, nestle one in the center of each ring.
Make the glaze. In a small saucepan over medium heat, whisk together brown sugar, pineapple juice, Dijon, apple cider vinegar, cinnamon, and ground cloves. Simmer for 3–5 minutes until slightly thickened.
Whisk in butter until glossy. Reserve about 1/2 cup for finishing.
Bake and baste. Place the ham in the pan and brush generously with glaze. Cover loosely with foil.
Bake for about 12–15 minutes per pound, basting with more glaze every 20–30 minutes.
Uncover to caramelize. During the last 30 minutes, remove the foil and brush with the reserved glaze. Let the surface turn deep golden and slightly sticky. If it browns too fast, tent again.
Check temperature. Since the ham is pre-cooked, you’re reheating to an internal temp of about 140°F (60°C).
Use an instant-read thermometer inserted into the thickest part without touching the bone.
Rest and slice. Transfer the ham to a cutting board, tent with foil, and rest 15–20 minutes. Remove toothpicks, then slice against the grain into thin or thick pieces, as you like.
Serve with pan juices. Spoon some of the syrupy pan drippings over the slices for extra sheen and flavor.