There’s nothing quite like the taste of homemade Mexican tamales—warm, soft masa filled with savory pork, chicken, or beans and cheese, all wrapped in corn husks and steamed to perfection. Tamales are more than just food; they’re a tradition, often prepared in large batches with family and friends during holidays or special gatherings.

I first learned how to make authentic tamales years ago while living in Puebla, Mexico. A kind grandmother welcomed me into her kitchen for a tamalada (tamale-making party), and taught me her family’s time-honored process. From soaking the corn husks to perfecting the masa, she showed me that tamale-making is not only delicious but also deeply meaningful.
Now, I’m excited to share this step-by-step recipe so you can bring the flavors of Mexico into your own kitchen—whether you’re cooking them on the stovetop or in the Instant Pot!
🌽 What Are Tamales?
Tamales are a traditional Mexican dish made with masa harina (corn flour dough), filled with meats or beans and cheese, then wrapped in softened corn husks (or banana leaves in some regions). The husks aren’t eaten but keep the dough and filling together as they steam.
They can be served with toppings like salsa, avocado, pico de gallo, or a side of rice and beans.
🛒 Ingredients You’ll Need
For the Dough (Masa):
- 4 cups masa harina (such as Maseca)
- 3 cups broth (chicken, beef, or vegetable)
- 2 teaspoons baking powder
- 1 teaspoon salt
- 1 teaspoon cumin
- 1 ⅓ cups lard (or shortening substitute)
- 8 ounces dried corn husks
Filling Options (about 3 ½–4 cups per batch):
- Red chili pork (rich and flavorful classic)
- Salsa verde chicken (shredded chicken mixed with salsa verde)
- Beans & cheese (refried beans with melted cheese)
👩🍳 Step-by-Step Instructions
1. Soak the Corn Husks
Place corn husks in a bowl of hot water for about 30 minutes, until softened.
2. Prepare the Filling
Cook and shred your choice of pork, chicken, or prepare beans and cheese. Set aside.
3. Make the Masa Dough
- In a large bowl, beat lard with 2 tablespoons of broth until fluffy (3–5 minutes).
- In another bowl, combine masa harina, baking powder, salt, and cumin.
- Mix dry ingredients into the lard, then gradually add broth until the dough is soft and spreadable, like peanut butter.
- Cover with a damp towel to keep it moist.
4. Assemble the Tamales
- Place a softened husk (glossy side up) on your work surface.
- Spread ¼ cup masa dough onto the top center of the husk (about ¼-inch thick).
- Add 1–2 tablespoons of filling down the center.
- Fold one side over the filling, then the other side, and fold the bottom up.
- Optional: tie with a strip of husk to secure.
5. Cook the Tamales
Stovetop Steamer:
- Stand tamales upright in a steamer (open side up).
- Cover with extra husks or a damp towel.
- Steam for 1–2 hours, checking water level regularly.
Instant Pot:
- Add 1 cup of water to the pot.
- Place tamales upright on a steamer rack.
- Cook on Manual/High Pressure for 25 minutes, natural release for 10 minutes.
Check doneness: The husk should peel away easily. If sticky, cook for 10 more minutes.
❄️ Storing & Reheating
- To freeze: Let tamales cool completely, then freeze in an airtight bag for up to 3 months.
- To reheat: Wrap in damp paper towels and microwave until hot (they’ll steam beautifully).
🍴 Serving Suggestions
Pair tamales with:
- Fresh pico de gallo or salsa
- Guacamole or sliced avocado
- Authentic Mexican rice
- Refried beans
- Refreshing Horchata
🌟 Recipe Card
Authentic Mexican Tamales
Soft masa dough filled with pork, chicken, or beans & cheese, wrapped in corn husks, and cooked until tender.
- Prep Time: 25 minutes
- Cook Time: 45 minutes (Instant Pot) – 2 hours (stovetop)
- Servings: 24 tamales
Calories: ~72 per tamale
This recipe is perfect for holidays, family dinners, or anytime you want to enjoy a truly authentic Mexican meal made with love. ❤️