This recipe is so rich and festive. It's spicy with the flavors of Mexico, and the sweetness and warming spices make it taste like the holidays.
Swap option: You can also use fresh ham or boneless, skinless pork shoulder.
Generously season pork roast with 2 tablespoons kosher salt and 1 tablespoon sugar, rubbing it into all the nooks and crannies. Tightly wrap with plastic and refrigerate for at least 3 hours or up to 3 days.2.
Cook bacon in a large skillet, preferably cast-iron, over medium heat, until the fat has rendered and the bacon is deep golden brown and very crisp. Transfer to a paper towel-lined plate and let cool. Transfer to a cutting board and chop into small pieces. Set aside until ready to assemble.3.
Bring the guajillo, ancho and morita chiles, garlic, oregano, peppercorns, thyme, allspice, cloves and cinnamon to a boil. Cover, remove from heat and let sit for 15 minutes until chiles have softened. Transfer chile mixture and the cooking liquid to the jar of a blender. Add orange juice and zest, agave syrup and 1 tablespoon salt, and blend until completely smooth. Set aside until ready to assemble.4.
Arrange a rack in the lower third of your oven and preheat to 350 F. Unwrap roast and let sit for 1 hour at room temperature. Place pork on clean work surface with 1 short end facing you. Using long thin sharp knife and starting 1 inch above underside of roast, make a 1/2-inch cut into the meat along right side.5.
Continue cutting 1 inch above underside, unrolling roast like carpet until you get about 1 inch from the end of the roast. Do not cut through the roast. Open roast completely and tap and lightly press to flatten into one large flat surface. Sprinkle apricots, walnuts and reserved bacon evenly over pork.6.
Season with salt, pepper and sugar. Turn pork so one short end faces you. Beginning at one short end, roll up pork; arrange seam-side down on work surface. Using kitchen string, tie at 1- to 1½-inch intervals.7.
Pour about 1 cup of chile puree in the bottom of a large roasting pan or Dutch oven. Arrange pork over the puree and pour remaining puree over top. Cover and bake until an instant read thermometer registers 145 F in the thickest part of the roast, about 2½ hours. Let rest at least 45 minutes before slicing. Slice into 1-inch-thick pieces and serve with pan drippings over top.