Pork Tamales

Pork Tamales

The Spruce Eats / Ubish Yaren

Prep: 40 mins
Cook: 2 hrs 15 mins
Assembly: 60 mins
Total: 3 hrs 55 mins
Servings: 24 Servings
Yield: 24 tamales
Nutrition Facts (per serving)
463 Calories
28g Fat
41g Carbs
15g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 24
Amount per serving
Calories 463
% Daily Value*
Total Fat 28g 36%
Saturated Fat 10g 50%
Cholesterol 50mg 17%
Sodium 360mg 16%
Total Carbohydrate 41g 15%
Dietary Fiber 5g 16%
Total Sugars 6g
Protein 15g
Vitamin C 9mg 44%
Calcium 120mg 9%
Iron 3mg 19%
Potassium 515mg 11%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)

This tamale recipe is a collaboration that spans generations. The pork filling is by contributor Ubish Yaren. And, the masa dough originates with senior editor Adriana Velez's paternal grandmother, Maria Estevez Velez, as transcribed by her mother, Norma Mendez Velez.

Ubish's family makes their pork tamales for celebrations, like Mexican Independence Day, when all the family gathers to eat and drink. It is simple, yet delicious. Much of the flavor comes from guajillo chiles mixed with cumin seeds, which is a typical mix of spices used a lot in central and northern Mexico. 

The basic structure of this ancient dish (which originated in Mesoamerica around 8000-5000 BC) starts with a starch-based dough. To this, a meat, fruit, or vegetable filling is added, and everything is wrapped in plant leaves, then steamed. In Mexico, the most typical tamales are made with corn masa, and they are wrapped in dried corn husks. Countless varieties of tamales abound, but the pork tamale with a red chile sauce is perhaps the most popular.

While freshly-ground masa makes a superior tamale, it's difficult to source. So we've created a recipe for any brand of masa harina you might find in the Latin American section of your grocery store. Please note that you cannot substitute with masarepa (a cooked corn flour such as PAN masarepa). Corn husks and dried chiles will most likely be found in the same section of your grocery, or at a Latin American food market.

You will need a large stockpot with a strainer or steamer basket deep enough to hold the tamales vertically. You can find steamer baskets at kitchen supply, home goods, and grocery stores.

Tamales take time. You can make the filling up to three days in advance. You'll also want to soak the corn husks the night before you plan on using them. Assembling tamales is considered a group activity, especially popular around Christmas. Family and friends gather to share the labor of preparing copious numbers of tamales, and everyone brings home at least a dozen to enjoy through the holiday season.

To eat, you open the corn husk envelope, discard, and eat the tamale inside with salsas and other condiments, like escabeche. Once cooked, the tamales will last around one week in the fridge. They also freeze very well.

"This tamale recipe is worth every minute. The filling is rich and flavorful, and the dough is fluffy, light, and very tender. None of the steps in this recipe are difficult. It does take time, because there are several components, which is normal for a tamale." —Heather Ramsdell

Pork Tamales Tester Image
A Note From Our Recipe Tester


For assembling the tamales

  • 30 dried corn husks

For the filling

  • 2 pounds pork shoulder, cut into 3-inch cubes

  • 1 small onion, halved

  • 2 cloves garlic 

  • 3 teaspoons kosher salt, divided

  • About 4 cups water, divided

  • 3/4 ounce dried guajillo chile peppers, about 4, (or similar dried chile)

  • 1 pound plum tomatoes, about 4

  • 1 tablespoon vegetable oil

  • 1 teaspoon ground cumin

For the masa dough

  • 2 cups lard

  • 2 tablespoons baking powder

  • 1 tablespoon chili powder, such as ancho

  • 2 teaspoons kosher salt

  • 5 cups masa harina

  • 2 cups reserved pork broth or chicken broth, warmed

Steps to Make It

Make the Pork Filling

  1. Gather the ingredients.

  2. Prepare the corn husks. Separate about 30 husks and submerge in hot (not boiling) water. If the husks float, place something heavy (like a cereal bowl) over them. Allow to soak about 10 minutes.

  3. Put the pork shoulder with half of the onion, 1 of the garlic cloves, and 2 teaspoons salt in a heavy pot. Cover completely with water and simmer, partially covered, until the pork is soft and tender, about 3 hours.

    If you have a pressure cooker, put the pork shoulder, onion, garlic, and salt into it, cover completely with water, about 2 cups. Set to pressure cook for 1 hour. Release.

  4. Strain the cooked pork, reserving the broth for later. Discard the onion half. Shred the pork into thin strands.

  5. Stem and deseed the guajillo chiles. Hold the end of a chile with one hand, use a very sharp knife, and cut off the stem and calyx (the part that connects the stem to the chile). Then pour out any remaining seeds. Set aside.

  6. Place the tomatoes and guajillo chiles in a large pot, cover with 2 cups of water, and boil until both are very soft, about 15 minutes.

  7. Strain the tomatoes and chiles, discard the liquid, and put solids in a blender. Blend into a purée.

  8. Strain through a fine mesh sieve to remove any remaining pieces and reserve the sauce.

  9. Cut the other onion half into thin slices. Heat vegetable oil in a medium saucepan over medium heat and fry in the pan until soft and golden, about 5 minutes. 

  10. Heat vegetable oil in a large saucepan over medium heat. Cut the other onion half into thin slices and fry in the pan until soft and golden, about 5 minutes. 

  11. Cut the remaining garlic clove into thin slices. Add to the pan and cook until fragrant, 1 minute.

  12. Add the sauce, cumin, and 1 teaspoon salt. Bring to a simmer and cook until the sauce is thick, about 10 more minutes.

  13. Fold the sauce into the shredded pork until combined well. Store the filling in a tightly sealed container in the refrigerator until ready to use.

Make the Tamale Dough

  1. Gather the ingredients.

  2. Add the lard to a large bowl. Cream the lard with a hand mixer or stand mixer on medium speed until light and fluffy.

  3. Add the baking powder, chile powder, and salt to the lard and mix well. Then add the masa harina a quarter cup at a time, mixing well.

  4. Pour in the reserved pork broth (fat skimmed from the top) slowly while mixing.

  5. Test the tamale dough to see if it's ready. Drop a tablespoon into a glass of lukewarm water. If it floats, it's ready. If it sinks, the dough is still too dense. Continue mixing.

Assemble and Steam the Tamales

  1. Gather the ingredients.

  2. Remove corn husks from the water and shake each to remove excess water. Place them in a large bowl. Take 2 or 3 of the husks, and tear them lengthwise, following the grain, into quarter-inch-thick strips. Set aside on a small plate.

  3. Warm the filling in a large pot, stirring, over medium-low heat until it's heated through, about 15 minutes. Or, warm filling in a glass container in the microwave until heated through, about 5 minutes, stirring halfway through.

  4. Set out your ingredients in an assembly line: your corn husks, your masa, a small bowl of water, and your filling.

  5. To assemble each tamale, open a husk over a clean flat surface. Spoon 1/4 cup of masa onto the husk, near the widest end. Spread evenly into a rectangle, leaving about 1/4 inch clearance on each side and the top edge. This is done easiest with wet fingers, so dip your fingers in the bowl of water before assembling each tamale.

  6. Add 1 to 2 tablespoons of pork and spread down the center of the masa.

  7. Now you are ready to fold the tamales. Carefully bring the sides together to meet at the center, enclosing the filling.

  8. Then, fold the bottom tip of the husk over the filled section.

  9. Take one of the husk strips and use it to tie the tamale together, crosswise. Set aside.

  10. Once you are finished assembling the tamales, you are ready to steam them. Place the tamales vertically in a steamer, open-sides-up. You can allow the tamales to lean against each other towards the center of the pot, forming a dome. This enables the air to circulate.

  11. Once all the tamales are in the steamer, cover them with a few extra husks. Fill the pot with 2 cups of water. Place the steamer inside the pot, cover with a lid, and bring the water to a boil. Steam until the masa becomes firm, about 30 to 40 minutes. You may have to add more water as the tamales steam, so have water boiling in another pot ready to use. Test for doneness by taking one out, and let it sit for a minute until cool enough to handle. If it doesn't stick to the husk and is rather firm, they are done.

  12. To eat, unwrap the tamale and discard the husk. You can enjoy it with hot sauce, salsaescabeche, or sliced avocado. A well-seasoned tamale that has not been overcooked is perfectly delicious without any condiments at all.


  • After steaming the tamales, open lid slowly and carefully. The steam released can be hot enough to burn skin.
  • Take care to wash your hands thoroughly after handling chiles. Some people use gloves or wrap their hands in plastic bags to protect themselves. Oils from the chiles can irritate your eyes and nose if you handle chiles and then absentmindedly touch your face.

Make Ahead

  • You can cook your filling the day before. Heating it before using it to fill the tamales will better infuse the flavors into the pork. Allow it to cool enough to handle before using.
  • If you want to use the pork broth for the masa, refrigerate it first. The fat will separate from the broth and float in a layer at the top. Then you can scrape off the chilled fat before using the broth.
  • Masa dough can be made fresh, just before you are ready to assemble the tamales. Or you can make it the day before, which allows the dough to hydrate.

Recipe Variations

  • You can use corn oil, coconut oil, or a neutral-tasting vegetable oil in place of lard.
  • To steam in a pressure cooker or Instant Pot, you will still need a steamer basket. Stack the tamales the same way as the stovetop method. Use 1 cup of water and pressure cook for 20 minutes.
  • If you can't find dried guajillo chiles, you can substitute with dried ancho, pasilla, or cascabel chiles. The flavor will be different but also delicious.
  • Make the tamales with banana leaves instead of corn husks. Trim the leaves to 8-inch squares. Use the same method to fold and then tie shut with kitchen string.

How to Store and Freeze

  • To store, keep tamales in their husks and place them in a plastic bag in the refrigerator. Press out any air before sealing the bag. They will keep for two to three days.
  • To reheat, steam tamales for 15 minutes for best results.
  • You can also reheat by microwaving for 1 to 2 minutes.
  • To freeze, keep tamales in their husks and wrap each in foil. Then place in a freezer bag, again squeezing out any excess air. They will keep in the freezer for about three months.
  • Fully defrost in the refrigerator, then reheat by steaming or microwaving.