Begin by washing the pork under cold water and pat dry with paper towels. Transfer the pork to a glass dish and set aside.
Next, whisk together the garlic, olive oil, vinegar, lime juice, salt, oregano, onion powder, cumin, chili powder, sugar, and black pepper.
Rub this half of the mixture over the surface of the roast. Flip the roast over and rub the remaining mixture into the pork.
Wrap the dish with plastic wrap and refrigerate the pork to marinate for a minimum of 12 hours. Do not let the pork marinate for more than 18 hours.
An hour or two before you’re ready to start the roasting process, remove the pork from the fridge and let the pork come back to room temperature.
In the meantime, cut up the onions and place them under the pork. Nestle the pork roast on top of the bed of sliced onions. Pour one cup of water into the pan.
With the oven preheated to 425 degrees, bake the pork, uncovered, for 1 hour.
Lower the temperature of the oven to 350 degrees and bake the pork, covered with aluminum foil, for 3 hours. Check the pork every 30 minutes. Add half cup of water if the pan is starting to dry out. You want to keep the moisture in the pan.
After 3 hours has passed, remove the aluminum foil and increase the heat to 425 degrees. Bake for 30 more minutes.
Next, turn off the heat and leave the pork in the oven for 30 more minutes.
Before slicing, allow the pork to rest at room temperature for 15 minutes.