Preheat oven to 300 degrees F.
Score fat and put ham, fat side up, in a roasting pan. Rub with extra-virgin olive oil and season with plenty of salt and pepper all over. Cover loosely with foil and roast for 2 hours. Remove foil and roast for final hour uncovered.
In a large saucepan add all the sauce ingredients and simmer for 25 minutes until apples are almost falling apart and the sauce is fragrant. Remove cinnamon stick, bay leaf, and ginger then puree in a blender until completely smooth. Serve with baked fresh ham.