If you’ve never had the pleasure of enjoying Pernil, you don’t know what you’re missing! Tender, juicy, and incredibly flavorful, this marinated pork roast is guaranteed to become a family favorite!
Traditionally a Christmas dish in Latin American households, our Puerto Rican Roast Pork is easy to make and perfect for holiday dinners, celebrations, family get-togethers, or game days.

I was lucky enough to try this delicious roast pork shoulder (aka Pernil Asado) on a trip to Puerto Rico a few years ago, and it was love at first bite.
I’ve recreated this staple of Puerto Rican Cuisine and couldn’t have been happier with the results. The tender meat of our Puerto Rican Pernil was, without a doubt, the best pulled pork I’ve ever tasted.
Trust me when I tell you that this slow-roasted pork needs to be on your home menu rotation.
If you love delicious pork dishes, try my Oven Roasted Pulled Pork and Oven Roasted Pork Loin recipes.
Ingredients to make Pernil (Puerto Rican Pork Roast)
Let’s start by gathering the ingredients we need to make our Pernil recipe. In Chef Speak, this is called the Mise en Place, which translates into Everything in its Place.
Not only does setting your ingredients up ahead of time speed the cooking process, but it also helps ensure you have everything you need to make the dish.
How to make Pernil (Puerto Rican Pork Roast)
- Add the sofrito, dried oregano, garlic powder, coriander, onion powder, cumin, salt, and black pepper to a large bowl.
- Add the olive oil to the spice rub and mix well. Set aside until needed.
- Use a sharp knife to cut slits all around the pork roast.
- Stuff the slits with slices of fresh garlic cloves.
- Rub the pork shoulder with the prepared marinade.
- Cover with plastic wrap and refrigerate for at least 4 hours. Overnight is best, as it gives the marinade time to penetrate the roast.
Preheat the oven to 300 degrees F. Let the Pernil sit out while the oven preheats, allowing it to begin to come to room temperature before roasting.
- Place the marinated pork shoulder in a large roasting pan or large baking dish, skin side up.
- Use paper towels to wipe the skin clean of marinade and excess moisture. Drying the skin will allow it to crisp up..
- Pour the orange juice, lime juice, and water into the bottom of the pan.
- Cover the pan tightly with aluminum foil, leaving no openings.
- Place the roast on the center rack of the preheated oven and roast for 3 hours.
- Increase the oven temperature to 400 degrees F. Remove the foil, and pat the skin dry with a paper towel.
*If the bottom of the pan is dry or does not have enough liquid, add more water, orange juice, and lime juice. - Return the roast to the oven and continue cooking for 1-2 hours or until the pork’s internal temperature reaches 205- 210 degrees F. (Use a meat thermometer or instant-read thermometer to ensure you hit the correct temperature range.)
- Remove the roast from the oven and let it rest for 20 minutes before pulling the meat, allowing the juices to redistribute throughout the roast pork.
*The skin should be nice and crispy, but if you prefer crispier skin, increase the oven temperature to 500 degrees F and roast for an additional 10 minutes or until the skin is browned and extra crispy.
When the Pernil has cooled, remove the crispy skin (chicharrón or cuero) and cut the pork rind into crispy pieces. Then, pull the juicy meat into large chunks, which are perfect for dipping or sandwiches.
I promise this will be the best Pernil you’ve ever tasted outside of Puerto Rico!
Serve the pernil with arroz con grandules (rice with pigeon peas) and a green sauce for a traditional Puerto Rican dinner.
Save leftovers refrigerated in an airtight container for 4-5 days. It can also be frozen in a ziplock bag or freezer-safe container for up to 3 months.
Recipe FAQ’s
The word “pernil” is derived from the Spanish word “pierna” or leg. It’s also the Catalan word for ham, or in this case, a fresh ham (aka pork roast). Pork shoulder is usually used for this dish due to it being readily available and affordable, but other pork roasts can be used.
Pernil is traditionally made with a bone-in, skin-on pork shoulder (often referred to as “picnic shoulder” or “picnic roast.”). It has a good amount of fat and a bit more connective tissue, which makes it perfect for cooking low and slow.
You can also use a Boston butt or pork leg to make this recipe.
Yes, leave the skin on. The skin becomes crispy, crunchy, and flavorful when roasted, creating the delicious crispy skin known as “chicharrón or cuerito”.
If you can’t find a skin-on pork roast, you can still make pernil, but you won’t get the crispy skin to enjoy.
More Recipes You’ll Love!
Pernil Recipe | Puerto Rican Pork Roast
Ingredients
Marinade
- 3 tablespoon sofrito homemade or store-bought
- 2 tablespoon dried oregano
- 1 tablespoon garlic powder
- 1 teaspoon ground coriander
- 1 teaspoon onion powder
- 1 teaspoon sweet paprika
- 1 teaspoon cumin
- table salt and black pepper to taste
- ½ cup olive oil
Pork Roast (Pernil)
- 5-6 pound pork shoulder bone-in, skin on
- 8 cloves garlic sliced
- 1 cup orange juice more as needed
- ¼ cup lime juice more as needed
- 1 cup water more as needed
Serving
- 2 tablespoon apple cider vinegar
- ½ cup fresh cilantro finely chopped
Instructions
Marinade
- Add the sofrito, dried oregano, garlic powder, coriander, onion powder, cumin, salt, and black pepper to a large bowl.
- Add the olive oil to the spice rub and mix well. Set aside until needed.
Pork Roast (Pernil)
- Use a sharp knife to cut slits all around the pork roast. Stuff the slits with slices of fresh garlic cloves.
- Rub the pork shoulder with the prepared marinade.
- Cover with plastic wrap and refrigerate for at least 4 hours. Overnight is best, as it gives the marinade time to penetrate the roast.
- Preheat the oven to 300 degrees F.
- Let the Pernil sit out while the oven preheats, allowing it to begin to come to room temperature before roasting.
- Place the marinated pork shoulder in a large roasting pan or large baking dish, skin side up.
- Use paper towels to wipe the skin clean of marinade and excess moisture. Drying the skin will allow it to crisp up.
- Pour the orange juice, lime juice, and water into the bottom of the pan..
- Cover the pan tightly with aluminum foil, leaving no openings
- Place the roast on the center rack of the preheated oven and roast for 3 hours.
- Increase the oven temperature to 400 degrees F. Remove the foil, and pat the skin dry with a paper towel. *If the bottom of the pan is dry or does not have enough liquid, add more water, orange juice, and lime juice.
- Return the roast to the oven and continue cooking for 1-2 hours or until the pork’s internal temperature reaches 205- 210 degrees F. (Use a meat thermometer or instant-read thermometer to ensure you hit the correct temperature range.)
- The skin should be nice and crispy, but if you prefer crispier skin, increase the oven temperature to 500 degrees F and roast for an additional 10 minutes or until the skin is browned and extra crispy.
- Remove the roast from the oven and let it rest for 20 minutes before pulling the meat, allowing the juices to redistribute throughout the roast pork
- Drain the drippings from the roasting pan into a bowl and skim the fat. Stir in vinegar and chopped cilantro. Add salt to taste. Serve with the finished pork as a dipping sauce or gravy.
Al Nobile says
Great recipe, spot-on cooking process. I previously would add the orange juice to the marinade, but I like this method better. My aluminum foil wrap wasn’t very tight, but there was still plenty of liquid left after 3.5 hours of baking at 300. This was a 10-pound roast, and I think the extra time was warranted. After the 1-hour blast at 400, I spooned some of the juices over the top, closed the oven and turned it off while I cooked the rice. I then pulled it and let it rest for about 20 minutes. That dipping sauce at the end is a nice touch. I happened to have half a lemon and used that instead of the vinegar. Will try the vinegar next time!
Chef Dennis Littley says
Thanks for letting me know you liked my recipe for pernil, its a family favorite in our house.
Michelle says
Chef D,
This looks amazing and I can’t wait to try it but I have an important question….should the pork sit on a rack inside the roasting pan, should I set it directly inside the pan without a rack so rests in the juices? Thank you in advance.
Chef Dennis Littley says
We made it without a rack, so the roast was resting in the juices, but you can definitely place it on a rack. That way the air will circulate all around the pork.
Adrienne says
This is delicious. Reminds me of an Italian Porketta. Thank you, Chef.
Chef Dennis Littley says
You’re welcome, and I’m happy to hear you enjoyed the pork!
Zabanga says
Perfect.