Season the pork leg with ground ginger, cinnamon, all-purpose seasoning, soy sauce, and black pepper.
Rub it in on both sides to make sure all parts of the meat are covered in seasoning.
Poke 6 holes and stick the garlic cloves in each hole, also stick in the four cloves and set aside covered in the refrigerator overnight.
Remove from the refrigerator an hour before cooking, so it can come as close to room temperature as possible.
Preheat the oven to 320 degrees F.
In a Dutch pot, heat up the oil and sear the pork leg on all sides.
Remove the seared meat from the pot and add the onion, scallion, and ginger, sauté until they begin to soften.
Add the sorrel, rum, and bouillon cubes stir together then add the seared pork leg.
Bring the liquid to a boil on the stove, then cover and place in the oven.
Turn the meat every hour and after three hours it should be perfectly tender and moist.
Carefully remove the meat from the sauce and place it in a dish.
Using the same Dutch pot on the stove, reduce the remaining liquid to a thick sauce
Pour the sauce over the roast, serve with your choice of sides, and enjoy!