There’s so much beauty in tradition, especially during the holidays. One of my favorite parts will always be the food, and these Tamales are no exception. For this tamale recipe, my goal was to offer something approachable and budget-friendly while honoring the heart, flavors, and traditions behind the dish. Soft corn husks wrap a spreadable masa dough, which steams slowly until tender, enclosing a simple but satisfying filling of cheese, beans, and salsa. And while they’re delicious any time of year (and should be enjoyed year-round!), they hold a special place during winter celebrations, particularly Christmas and Three Kings’ Day!

All recipes are rigorously tested in our Nashville Test Kitchen to ensure they are easy, affordable, and delicious.
Simple Recipe for Tamales
Tamales are said to have originated in Mesoamerica, dating back centuries as a practical, nourishing food made from masa, or corn dough, spread onto corn husks or banana leaves, filled, folded, and steamed until tender.
In many Mexican and Central American families, making tamales is an act of love, with relatives and friends gathering in the kitchen to prepare big batches, share stories, laugh, and create memories that last a lifetime (often during a tamalada, or tamale-making party!) In my budget-friendly version here, I kept the filling simple with queso fresco, smashed pinto beans, and salsa verde, as they’re easy to find, affordable, and still incredibly satisfying. My hope is that this recipe gives you the confidence to make tamales at home, while keeping it practical and customizable for your own table.
Recipe Success Tips
- Make sure to soak the corn husks in hot water for at least 30 minutes, or in cold water overnight. The husks need to be pliable. You can find corn husks in the international aisle of most grocery stores, near dried chiles in the grocery store, or at local Mexican, Latin American, or Asian Markets.
- I like to soak an extra husk, then pull it into strips to help secure the folded tamale. You can also use butcher’s twine. You don’t have to tie the husks, but I find that tying them helps them stay closed in the steamer.
- Masa dough can be bland on its own. That’s why I seasoned it with salt, garlic powder, onion powder, and cumin. Feel free to use chili powder, paprika, cayenne, oregano, or ground dried chiles!
- Make sure the broth is warm or at least at room temperature. It shouldn’t be hot or cold. Warmed broth helps the masa hydrate properly and combine well with the oil, creating a smooth, light, and spreadable dough.
- Adding enough fat and broth is crucial for texture. The dough should reach the consistency of creamy peanut butter or thick cake batter. I used broth for flavor. It may seem like there is a lot of broth when adding it to the masa flour, but keep folding it into the flour, and it will absorb the liquid.
- Spread a thin layer of the masa dough onto the husk, leaving a border. The masa expands when it cooks. Also, don’t overstuff the husks. Overstuffing can cause the filling to leak out during steaming!
- Place the bean tamales upright in the steamer, with the tops facing up. Pack them snugly to help hold their shape and ensure even steaming.
- Try not to open the steamer too often. This will cause heat to escape. When you do, quickly check the water level to make sure there’s enough. Higher altitudes might need slightly longer steam times.
- After cooking, allow them to rest for at least 15 minutes. The dough will firm up during this time. They’ll be a bit soft at first when they come out the steamer.
- Use vegetarian queso fresco if you want to keep this recipe vegetarian. Some traditional preparation methods use animal rennet to make queso fresco, which isn’t veggie. You can also omit the queso fresco, and this recipe will be vegan!
Tamales
Cost $8.87 recipe / $1.48 serving
Ingredients
- 13 corn husks ($4.28)
- 2 cups corn masa flour (250g, $0.55*)
- 1 tsp baking powder ($0.02**)
- 1 tsp salt ($0.04)
- ¼ tsp garlic powder ($0.01)
- ¼ tsp onion powder ($0.02)
- ⅛ tsp ground cumin ($0.01)
- ½ cup vegetable oil (4 oz ($0.41)***)
- 2¼ cups vegetable broth (warmed (18 oz) $0.33****)
- 1 cup queso fresco (grated, (125g) $1.39)
- 15.5 oz. can pinto beans (drained, rinsed, & slightly mashed, $0.86)
- ¾ cups jarred salsa verde ($0.95)
Instructions
- Gather and prepare all ingredients.
- Soak the corn husk in a large pot with hot water for at least 30 minutes. Make sure to weigh them down so they are fully submerged. After 30 minutes, the corn husks should be soft and flexible.
- Pat both sides dry, then lay 12 husks smooth side up on your work surface. (Lightly run your fingernail along the husk. The ridged, bumpier side goes face-down on the counter, while the smooth side faces up for filling.) Take the 13th husk and pull it into 12 thin strips, and set them aside.
- To make the dough, add the corn masa flour, baking powder, salt, garlic powder, onion powder, and cumin to a medium bowl. Using a spatula, mix to combine all dry ingredients.
- Next, add the vegetable oil and continue combining.
- Lastly, slowly add the warm vegetable broth, mixing with the spatula to combine. Keep folding until the liquid is absorbed. The dough should be spreadable, with a consistency similar to soft peanut butter.
- With the wide end of the husk facing you, and the pointed end at the top, scoop about ¼ cup of the masa dough onto the center of the husk (the amount depends on the size of the husk). Use a spoon to spread the masa into a thin, even rectangle or square, leaving a border of ½ to 1 inch on the sides and top, and about 2-3 inches of space at the narrow/pointed end. Continue until all the dough is divided and spread.
- Evenly distribute the queso fresco in the middle of each masa dough, sprinkling lengthwise. Next, place the drained and rinsed pinto beans into a small bowl. Using the back of a spoon or fork, slightly smash the beans. Evenly distribute the beans on top of the queso fresco. Lastly, top the beans with about 1 tablespoon of salsa verde.
- To fold the husks, bring one long side of the corn husk over the filling to meet the other side of the masa dough, encasing the filling. Fold the other long side over the first, overlapping them to create a sealed tube or cylinder shape.
- Fold the narrow/pointed end of the husk up toward the wide end to fully enclose the bottom.
- Tie the husks with a thin strip torn from the extra corn husk to secure.
- Place a steamer basket into the large pot and fill it with water just under the basket*****. Turn the heat to medium-high. Arrange the tied husks upright in the basket, with the filling side facing up and the tied end on the bottom.
- Lid the pot and once you start to see steam, turn the heat to medium-low.
- Steam them for 1 hour to 1 hour and 30 minutes, checking every 20 minutes or so, to make sure there is enough water in the pot. I had to refill it once.
- The tamales are done when the husk easily peels away from the masa dough. You can take one out and let it rest for about 5-10 minutes, then check. Once cooked, let them all rest for about 10-15 minutes before serving. Peel the husks back and serve with your favorite toppings, and enjoy.
See how we calculate recipe costs here.
Equipment
- Large Pot with Lid
- Medium Bowl
- Spatula
- Spoon
- Small Bowl
- Steamer Basket
Notes
Nutrition
how to make Tamales step-by-step photos

Gather all of your ingredients.

Soak the corn husks: Add 13 corn husks to a large pot of hot water and let them soak for at least 30 minutes. Place something on top (e.g., a plate or bowl) to weigh them down so they stay fully submerged in the water.

After 30 minutes of soaking, the corn husks should now be soft and flexible.

Pat both sides of all the corn husks dry. Now lay 12 corn husks down (smooth side up) on your work surface. Lightly run your fingernail along the husk. The ridged, bumpier side goes face-down on the counter, while the smooth side faces up—this is where your filling will go.

Make the ties: Take the 13th husk and pull it into 12 thin strips. Set these strips aside while you make the filling.

Make the masa filling: Add 2 cups corn masa flour, 1 tsp baking powder, 1 tsp salt, ¼ tsp garlic powder, ¼ tsp onion powder, and ⅛ tsp cumin to a medium bowl. Use a spatula to combine all dry ingredients together.

Now add ½ cup vegetable oil and combine.

Lastly, slowly add 2¼ cups warm vegetable broth, mixing with the spatula to combine. Keep folding until the liquid is absorbed.

The dough should be spreadable, with a consistency similar to soft peanut butter.

Spread the dough: With the wide end of the husk facing you, and the pointed end at the top, scoop about ¼ cup of the masa dough onto the center of the husk (the amount depends on the size of the husk).
Use a spoon to spread the masa into a thin, even rectangle or square, leaving a border of ½ to 1 inch on the sides and top, and about 2-3 inches of space at the narrow/pointed end. Continue until all the dough is divided and spread on all the husks.

Mash the beans: Pour the 15.5 oz. can drained and rinsed pinto beans into a small bowl. Use the back of a spoon or fork to slightly smash the beans.

Fill the husks: Evenly distribute the queso fresco down the middle of each masa dough, sprinkling lengthwise (using 1 cup cheese total). Then evenly top the queso fresco with the mashed beans. Lastly, top the beans with about 1 tablespoon of salsa verde each (¾ cups total).

Fold the husks: Fold one long side of the corn husk over the filling to meet the other side of the masa dough, encasing the filling.

Then fold the other long side over the first, overlapping them to create a sealed tube or cylinder shape.

Take the narrow/pointed end of the husk and fold it toward the wide end.

Seal the folds: Tie each parcel with a thin strip torn from the extra corn husk to secure the folds.

Repeat until all husks are tied shut.

Steam: Place a steamer basket into a large pot and add just enough water to fill under the basket. Turn the heat to medium-high. Arrange the tied husk parcels upright in the basket. Place the filling side facing up and the tied end at the bottom.
Place a lid on the pot, and once you see steam, turn the heat down to medium-low.

Steam your vegetarian tamales for 1 hour to 1 hour and 30 minutes, checking every 20 minutes or so, to make sure there is enough water in the pot. I had to refill it once to keep the steam going.
They’re done when the husks easily peel away from the masa dough. To check, you can take one out and let it rest for about 5-10 minutes, then check. Once cooked, let them all rest for about 10-15 minutes before serving. Remove the husks by peeling them back. Serve with your favorite toppings, and enjoy!

More Filling Ideas
Homemade tamales can be filled with so many options! I chose ready-to-use, vegetarian ingredients for ease and convenience, without sacrificing taste. You can also fill savory tamales with meat or other vegetables. Make sure to pre-cook any meat fillings, and you can even make the fillings a day ahead. Here are some more filling ideas:
- Slow-cooked pulled pork or crockpot carnitas
- Ground beef, pork, chicken, or turkey
- Roasted sweet potatoes with onions and peppers
- Refried beans with cheese
- Crockpot salsa chicken
- Black beans with corn and a mild green salsa
- Shredded beef (use the birria from our birria tacos recipe)
- Roasted poblano peppers with queso fresco
- Leftover Texas chili or stewed beans
Serving Suggestions
When it comes to serving and eating tamales, it’s pretty simple and meant to be enjoyed at your own pace! Start by unwrapping the corn husk, which isn’t meant to be eaten. I usually discard it, but you can also use it as a little plate while you eat. From there, you can enjoy the tamale as is, or dress it up with your favorite toppings. I love adding a spoonful of fire roasted salsa, a squeeze of fresh lime, and a sprinkle of chopped cilantro. Sour cream, jalapeños, diced avocado, pickled red onions, or a dollop of guacamole are all great options, too. They’re also lovely with a simple side, like cilantro lime rice or a street corn salad. I also think they’re delicious with our fish tacos with cumin lime slaw!
Storage & Reheating
Store leftovers in an airtight container in the refrigerator for up to 4 days. They also freeze really well and can be stored in the freezer for up to 3 months. To reheat, steam them again until warmed through. This helps keep them moist and gives you the best texture.






During my 15 years working in the UT Austin General Libraries, many of my co-workers brought in tamales this time of year. I’ve even made them myself, and your recipe and instructions are very good–pretty much identical with what I learned. I don’t care for bean tamales, however, and very much prefer some of your variations. Back in those years, most folks brought in tamales with pork fillings–yum!!! Not ground pork, but most often carnitas, chopped fairly fine, and that’s the variation I’ve most used, although my family also loves them with shredded brisket. There is just something wonderful about masa and pork! I’m guessing that before the Europeans brought pigs to the western hemisphere, it would have been beans, or game animals, After my years in Austin, Christmas means tamales.