Preheat the oven to 425 degrees F. Lightly grease a roasting pan with olive oil.
For the stuffing: Heat 1 tablespoon olive oil in a large frying pan. Add the bacon and cook until slightly crispy, about 5 minutes. Add the onions, saute for 3 minutes, and then add the garlic, sage and cranberries and cook for 1 minute.
Remove from the heat and add the spinach and breadcrumbs, stirring until well combined and the spinach has wilted slightly. Season with salt and pepper. Let cool.
For the pork: Butterfly the pork leg on a clean work surface, and then level it with a meat mallet to an even 1-inch thickness.
Place the cooled stuffing in the center of the butterflied leg. Roll up tightly to enclose, and secure with kitchen string.
Rub the tied and stuffed pork with 1 tablespoon olive oil and the sea salt. Heat some olive oil in a large frying pan over medium-high heat. Add the pork and brown until somewhat crispy on all sides.
Transfer to the prepared roasting pan and roast for 1 hour. Reduce the heat to 350 degrees and cook until the pork is tender and cooked through, another 30 to 45 minutes.
Transfer the roast to a serving platter, reserving the pan juices for the gravy. Cover with foil and allow to rest for 15 minutes.
Meanwhile, prepare the apple gravy: Heat the butter in a large saucepan. Add the apples, and saute for 4 minutes. Pour in the apple juice, cider vinegar and chicken stock, stirring until mixed; simmer for 5 minutes, until reduced in amount.
Add the whole-grain mustard, Dijon mustard, brown sugar and the pan juices from the roasting pan. Season with salt and pepper. Simmer over medium heat for 10 minutes.
Remove the gravy from the heat and strain through a sieve into a serving jug (The jug can be kept warm in a 150-degree oven; if a skin forms, gently rub with a moistened finger and it will lift away.)
Just before serving, remove the string from the roast. Cut the roast into slices and serve with the apple gravy.