My Abuelita's Incredibly Flavorful Pork Tamales Will Be the Best You Ever Have

tamales on plate
Credit: Photo: Alex Lepe; Food Styling: Janette Zepeda Credit: Photo: Alex Lepe; Food Styling: Janette Zepeda

Growing up as a first-generation Mexican American, tamales were — and will always be — a holiday staple. They’re a labor of love that brings everyone together. Coming from an incredibly large family, we would make tamales by the hundreds — and the recipe was never really written down. It was mostly a combination of my mom and grandma saying to add a little more of this or a little less of that.

My family always started with fresh masa, which looking back, I took for granted (I grew up in Southern California and had unlimited access to Mexican food products). With that said, it’s important to me that no matter where you are, you can find the ingredients you need for this recipe, which is why I incorporate masa harina. There are differences between masa harina for tortillas and masa harina for tamales. While the flavor of the masa harina won’t taste very different, it’s the grind on the corn that makes an overall difference. Masa harina for tortillas is finely ground, allowing for an almost paste or claylike consistency to form. Masa harina for tamales, on the other hand, is ground more coarsely, making it easier to spread and contributing to a more texturally accurate tamale.

Depending on the region of Mexico, you’ll see a variation of fillings, from sweet tamales filled with compotes and custards to vegetarian tamales or even the classic queso con rajas. Pork is a fairly common tamale filling, usually cooked in either a red guajillo-based sauce or a green sauce with a tomatillo base. I call for my personal favorite here: red pork stewed in a garlicky guajillo sauce. This recipe makes a lot of tamales so there’s more than enough to freeze. Plus, they can be frozen raw or steamed, which are an ideal make-ahead meal that’s wonderful for the holidays or a rainy Monday afternoon — it’s the best comfort food.

Why You’ll Love It

  • Leftovers are the best! Making a full batch of tamales will definitely feed a crowd. You can easily freeze raw, and fully cooked tamales resteam perfectly.

  • You don’t need fresh masa. While fresh masa is always nice, by hydrating and mixing the right amount of lard into the masa harina, you won’t be able to spot the difference.

  • An incredibly light and fluffy texture. I call for whipping masa in a stand mixer (as opposed to by hand, which is traditional) to incorporate air.

tamales in pot
Credit: Photo: Alex Lepe; Food Styling: Janette Zepeda Credit: Photo: Alex Lepe; Food Styling: Janette Zepeda

Key Ingredients in Tamales

  • Masa harina: The foundation of the classic base that ultimately gets filled and steamed.

  • Lard: A classic ingredient in tamales. The fat allows for a soft pillowy texture and added pork flavor throughout.

  • Garlic: The secret ingredient whose flavor lightly permeates the tamales.

  • Chicken broth: Helps rehydrate the masa harina while adding subtle flavor.

  • Corn husks: The classic wrapping that holds the masa while it is steaming. It also holds a ton of flavor that transfers to the tamales while steaming.

4 steps on how to make tamales
Credit: Photo: Alex Lepe; Food Styling: Janette Zepeda Credit: Photo: Alex Lepe; Food Styling: Janette Zepeda

How to Make Tamales

  1. Make the pork filling. Cook pork along with onion and garlic until cooked through but not tender. Strain out extra pork liquid, reserving for sauce. Add pork back into the pot, cooking until slightly brown.

  2. Make the guajillo sauce. Toast arbol chiles and rehydrate guajillos. Add arbol chiles, guajillo peppers, onion, garlic, cloves, whole cumin seeds, all-purpose flour, reserved strained pork liquid, and salt to a blender and blend until smooth, reserving some of the finished sauce for later. Strain guajillo sauce over the pork and add some water, then cook until thickened.

  3. Hydrate corn husks. Boil water in a large pot. Off-heat, add dried cork husks, pushing to submerge them in the water. Soak for at least 30 minutes.

  4. Hydrate masa. In the bowl of a stand mixer with a paddle attachment, beat the lard until light and airy. In an extra large bowl, add the masa harina and slowly incorporate the chicken broth. Add remaining garlic cloves, cooked rice, milk, baking powder, and salt, stirring to combine.Add reserved guajillo sauce and mix with a flexible spatula to combine.

  5. Whip masa. Working in batches, add hydrated masa to the stand mixer bowl. Whip each batch until light and fluffy. Stir to combine once both batches are done; it should have the consistency of thick and fluffy cake batter. If it is too thick, mix in a little more chicken broth, working with small amounts at a time.

  6. Assemble tamales. Drain corn husks and make sure there aren’t any corn silks lingering about. Using your hands, squeeze out any remaining liquid and sort through to find the largest ones. They should be soft and pliable at this point. Working with one husk at a time, and with the smooth side facing up, add masa followed by pork filling, then partially seal (there should be an opening at the top). Place tamales into a colander at a slight angle so they maintain their shape. Once the colander is full, begin to transfer into a steamer pot filled with enough water to touch the basket.

  7. Steam tamales. Once the steamer basket is full, add to the stockpot filled with water and cover the tamales with a single layer of corn husks. Bring the pot to a boil then reduce the heat to medium and steam tamales, checking after 1 hour and adding more water to the pot if needed. Turn off the heat and let tamales sit with the lid on 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 to 20 minutes more before checking again.

tamales on platter
Credit: Photo: Alex Lepe; Food Styling: Janette Zepeda Credit: Photo: Alex Lepe; Food Styling: Janette Zepeda

Helpful Swaps

Homemade chicken stock can be used in place of the low-sodium chicken broth.

Storage and Make-Ahead Tips

Tamales can be frozen cooked or raw for future use. If freezing raw, it is important to freeze them in a slightly upright position so the tamale maintains its shape. I recommend freezing in a colander or a bowl.

What to Serve with Tamales

Tamales Recipe

I guarantee these flavorful Mexican pork tamales will the best you've ever had.

Prep time 1 hour 30 minutes

Cook time 3 hours

Makes Makes 40 tamales

Ingredients

For the pork filling:

  • 4 1/2 pounds boneless pork shoulder or country style ribs, cut in 1-inch pieces

  • 2 1/2 cups water, divided

  • 1/2 medium yellow onion, peeled

  • 7 cloves garlic, peeled

  • 2 teaspoons kosher salt, divided

  • 4 dried chiles de árbol, stems removed

  • 14 dried guajillo chiles, stems removed

  • 1 tablespoon olive oil

  • 2 teaspoons all-purpose flour

  • 1/4 teaspoon whole cumin seeds

  • 2 cloves

For the masa:

  • 1 pound rendered pork lard, at room temperature

  • 2 cups cooked long-grain white rice, at room temperature

  • 10 cups water

  • 2 (8-ounce) bags dried corn husks

  • 7 1/2 cups masa harina for tamales (about 2 pounds and 5 ounces)

  • 6 1/2 cups low-sodium chicken broth

  • 2 tablespoons kosher salt

  • 2 cups whole milk

  • 2 1/2 teaspoons baking powder

Instructions

Show Images

Make the pork filling:

  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).

  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.

  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.

  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.

  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.

  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.

  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.

Make the masa:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

Assemble the tamales:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. Remove the cooked tamales from the steamer. Replenish the water in the steamer. Transfer the uncooked tamales into the steamer basket and repeat steaming.

Recipe Notes

Half recipe: Halve all the ingredients except the garlic: Use 4 cloves for the pork filling. Cook the filling in a 10-inch high-sided skillet or large frying pan. Use one of the cooked garlic cloves in the sauce and 3 in the masa. When making the masa, beat all of the masa mixture with the lard together in one batch.

Substitutions: Homemade chicken stock can be used in place of the low-sodium chicken broth.

Storage: The cooked tamales can be refrigerated in zip-top bags for up to 4 days. Steam until heated through, about 15 minutes. They can also be frozen for up to 3 months.

Further Reading

We Asked 3 Chefs to Name the Best Ice Cream, and They All Said the Same Thing

Do Water Filters Really Work — And Which Ones Are the Best?

Le Creuset Launched a Pan That’s Perfect for Everything from Stews to Stir-Fry — and It’s Already on Sale