Make the chile sauce. Add 3 cups of water and the guajillo, ancho, and árbol chiles to a medium pot. Bring to a boil over high heat, cover, remove from heat, and let soak for 15 minutes.
Carefully transfer the softened chiles and the hot water to a large blender. Add the remaining fresh water, the chili powder, ground cumin, salt, garlic, and Mexican chocolate. Blend for 2-3 minutes until completely smooth. Set aside.
Prepare the meat. Season all sides of the pork with the salt and black pepper. Heat the oil in a large pot or Dutch oven over medium-high heat. Add the pork, and sear the meat on all sides until nicely browned.
Combine and cook. Pour in the red chile sauce and scrape the bottom of the pot with a wooden spoon to loosen all the brown bits. Stir in the broth, hominy, and dried oregano.
Bring the pot to a boil, reduce the heat to low, cover, and simmer for 2 ½ hours until the pork is fall-apart tender.
Shred the pork with a fork or tongs (it should fall apart very easily). Taste and season with more salt, if necessary.
Serve with toppings such as thinly shredded cabbage, cilantro, lime juice, sliced radishes, diced onions, and dried Mexican oregano.
Video
Notes
Storing and reheating. Keep leftovers in an airtight container in the fridge for up to 4 days, with the toppings stored separately. Reheat on the stove over medium heat with a splash of broth. It also freezes for up to 3 months.
Mexican chocolate. This ingredient is optional, but I find that it adds a little extra depth of flavor that complements the chiles. It doesn't make the chile sauce sweet at all.
Swap the protein. Beef chuck roast works the same way as pork shoulder and simmers for the same amount of time. For chicken, use boneless skinless chicken thighs, sear them, and simmer for about 40 minutes.
Not enough broth? Some people love their pozole extra brothy. If you find that the pozole isn’t soupy enough for you, stir in some more broth until it’s to your desired consistency.