Preheat oven to 350 F.
Carefully slice ½″ deep cuts across top of ham, spaced about 1 ½″ apart. Cut another series of ½″ deep cuts crosswise to the first set of cuts, creating a diamond pattern all over the top surface of the ham. If you like, push a whole clove into each spot where the cuts intersect – I usually don’t bother, though. Place ham in roasting pan, along with about 1 cup of water – this will prevent the drippings from burning.
Follow the directions on the ham for baking – usually about 15 minutes per pound. Set your timer for 40 minutes less than the recommended baking time.
About 20 minutes before the timer goes off, prepare the glaze:
Heat oil in a medium saucepan. Cook onion and garlic in heated olive oil, until onion starts to go translucent. Add remaining ingredients, whisking until smooth. Bring to a boil, reduce heat, simmer for 5-10 minutes.
When the timer goes off, spoon half of the glaze evenly over the top of the ham, return to the oven for 20 minutes.
At the 20 minute mark, spoon remaining glaze over the ham, continue cooking for 20 more minutes. Remove from oven, allow to sit for a few minutes before slicing and serving.