Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
Export 16 ingredients for grocery delivery
Step 1
Place 4 1/2 pounds cubed pork shoulder, 2 cups of the water, 1/2 peeled medium yellow onion, 7 peeled garlic cloves, and 1 teaspoon of the kosher salt in a large Dutch oven or heavy-bottomed pot. Bring to a simmer over medium-high heat. Reduce the heat to medium-low. Cover and cook, stirring occasionally, until the pork is cooked through, about 20 minutes (it will not be tender yet).
Step 2
Meanwhile, place 4 stemmed dried chiles de árbol in a small skillet and toast over low heat, flipping the chiles occasionally, until darkened in color, about 2 minutes. Turn off the heat. Place 14 stemmed dried guajillo chiles in a large heatproof bowl and add enough boiling water to cover (about 6 cups). Cover with plastic wrap and let soak.
Step 3
Fit a strainer over a medium heatproof bowl. Pour the pork mixture through the strainer. Pick out the garlic cloves and onion and reserve for later.
Step 4
Heat 1 tablespoon olive oil in the now-empty Dutch oven over medium heat until shimmering. Return the pork to the pot and cook, turning occasionally, until browned all over, about 10 minutes.
Step 5
Meanwhile, drain the guajillo chiles. Place the guajillo chiles, chiles de árbol, reserved onion and 2 of the garlic cloves from the pork, 1 1/2 cups of the strained pork cooking liquid (some of the fat in the liquid is fine), 2 teaspoons all-purpose flour, 1/4 teaspoon whole cumin seeds, 2 cloves, and the remaining 1 teaspoon kosher salt in a blender. Blend on medium speed until smooth.
Step 6
Reduce the heat for the pork to low. Pour the blended mixture through a fine-mesh strainer over the pork, pushing it through with a flexible spatula and scraping the underside of the strainer occasionally. Add the remaining 1/2 cup water to the blender and swirl to release the residual sauce from the sides of the blender. Pour through the same strainer over the pork; discard the contents of the strainer.
Step 7
Stir the sauce into the pork and cook until the sauce is thickened, about 5 minutes. Taste and season with more kosher salt as needed. Turn off the heat. Transfer 1/4 cup of the sauce to a small bowl and reserve for the masa. Let the pork filling cool until warm to the touch. Meanwhile, prepare the corn husks and masa.
Step 8
Bring 10 cups water to a boil over medium-high heat in a large pot. Turn off the heat. Add 2 (8-ounce) bags dried corn husks. Push into the water until submerged and then cover, or weight down the corn husks with a heavy bowl. Let soak for at least 30 minutes while you prepare the remaining ingredients.
Step 9
Beat 1 pound room temperature rendered pork lard with the paddle attachment in a stand mixer on medium speed, scraping the bowl halfway through, until light and airy (like frosting), about 5 minutes total.
Step 10
Place 7 1/2 cups masa harina for tamales in a very large bowl. While stirring with a flexible spatula, slowly pour in 6 1/2 cups of the low-sodium chicken broth in three increments. Stir until combined.
Step 11
Squeeze the remaining 5 reserved garlic cloves from the pork between your fingers to mash, then add to the masa mixture. Add 2 cups cooked long-grain white rice and 2 tablespoons kosher salt, and stir to combine.
Step 12
Stir 2 cups whole milk and 2 1/2 teaspoons baking powder together. Pour the milk mixture and reserved 1/4 cup sauce into the masa. Mix with a flexible spatula until combined.
Step 13
Transfer half of the masa mixture to the stand mixer. Beat on medium speed, scraping down the sides of the bowl occasionally, until light and fluffy, about 10 minutes total. Push the remaining masa left in the very large bowl to one side of the bowl. Transfer the masa-lard mixture to the other side of the bowl.
Step 14
Transfer the masa without the lard to the stand mixer and repeat beating on medium speed until light and fluffy, about 10 minutes. Transfer back to the bowl with the masa-lard mixture and stir with a flexible spatula until combined.
Step 15
Drain the corn husks and give them a quick rinse to make sure there are no extra corn silks lingering. Squeeze out the excess water from the husks. They should now be pliable and wrinkle free. Sort through corn husks, picking out about 40 of the largest husks.
Step 16
Fill and fold each tamale one at a time: Arrange 1 corn husk smooth-side up on a work surface (run your fingers on each side to feel the difference), with the lines running vertically and the wider side on the top.
Step 17
Place 1/2 cup of the masa mixture onto the center of the husk. Use the back of the spoon or a small offset spatula to spread the masa into an even layer, leaving a border at the top and an uncovered triangle at the bottom. Spoon about 2 tablespoons of the filling and sauce (about 4 pieces of pork) down the center of the masa.
Step 18
Take the left side of the husk and fold it over the filling. Fold the bottom tip up and over the center. Finally, fold the right side over the center. You should still have an opening at the top.
Step 19
Place vertically closed-end down in a colander, letting it sit at a slight angle. Assemble more tamales until the colander is full. Transfer the tamales to a steamer basket of an 8-quart stockpot, standing them vertically in the steamer. If you have a hard time getting the first few tamales to stand up, place a small bowl in the steamer to help prop them up until there are enough to hold each other up (then remove the bowl). Cover the tamales with a single layer of corn husks.
Step 20
Fill the stockpot with enough water to just touch the steamer basket. Place the basket in the stockpot. Cover and bring the water to a boil over medium-high heat. Reduce the heat to medium and steam for 1 hour to 1 hour and 10 minutes, checking and adding more water to the steamer as needed. Meanwhile, fill and fold the remaining tamales; let them sit at room temperature.
Step 21
Turn off the heat and let the tamales sit covered for 5 minutes. Take one of the tamales out and let cool for 5 minutes to firm up slightly. Unwrap the tamale and tilt to see if it will easily release and roll off the husk. If it doesn’t, rewrap, return to the steamer, and steam for 10 minutes more before checking again.
Step 22
Remove the cooked tamales from the steamer. Replenish the water in the steamer. Transfer the uncooked tamales into the steamer basket and repeat steaming.