Pupusas are thick, handmade corn tortillas stuffed with savory fillings like cheese, beans, or pork, then griddled until golden and crisp. A specialty of El Salvador, they are traditionally served with curtido (a tangy pickled cabbage slaw) and a thin tomato salsa. This recipe recreates the pupusas you’d find at a pupuseria, with a soft, slightly chewy masa dough and a melty, flavorful center that crisps beautifully on the outside.
Ingredients
- For the curtido:
- 4 cups (340 g) finely shredded green cabbage
- 1 medium carrot, grated (about 1 cup / 110 g)
- 1/2 small white onion, thinly sliced (about 1/2 cup / 60 g)
- 1 cup (240 ml) boiling water
- 1/2 cup (120 ml) apple cider vinegar
- 1 tsp salt
- 1/2 tsp dried oregano
- For the salsa roja:
- 2 medium tomatoes, chopped (about 2 cups / 300 g)
- 1/4 cup (60 ml) water
- 1 small clove garlic, minced
- 1/4 small onion, chopped (about 2 tbsp / 20 g)
- 1 tbsp vegetable oil
- Salt to taste
- For the pupusa dough:
- 3 cups (375 g) masa harina (corn flour for tortillas, e.g., Maseca)
- 2 1/4 cups (530 ml) warm water, plus more if needed
- 1/2 tsp salt
- For the fillings (choose your combination):
- 2 cups (240 g) shredded mozzarella or Monterey Jack cheese
- 1 cup (240 g) refried beans (canned or homemade)
- 1/2 lb (225 g) cooked, seasoned pork (like carnitas or shredded pork), optional
- Vegetable oil for cooking
Instructions
- Make the curtido: In a large bowl, combine the cabbage, carrot, and onion. Pour the boiling water over the vegetables, let sit for 1 minute, then drain well. Add the vinegar, salt, and oregano, and toss to coat. Cover and refrigerate while you prepare the rest. (It can be made up to 3 days ahead.)
- Make the salsa roja: In a small saucepan, combine the tomatoes, water, garlic, and onion. Bring to a simmer over medium heat, then reduce heat to low and cook for 10 minutes, until the tomatoes are soft. Let cool slightly, then transfer to a blender and blend until smooth. Stir in the oil and salt to taste. Set aside.
- Make the dough: In a large bowl, mix the masa harina and salt. Add the warm water and stir with a spoon or your hands until a soft, slightly sticky dough forms. It should be the consistency of play-dough—if it’s too dry, add a tablespoon of water at a time; if too sticky, add a bit more masa harina. Cover with a damp towel and let rest for 5 minutes.
- Prepare the fillings: If using refried beans, warm them slightly so they are spreadable. Shred the cheese and have the pork ready if using.
- Assemble the pupusas: Divide the dough into 12 equal balls (about 1/4 cup / 60 g each). Keep them covered with a damp towel to prevent drying. Working with one ball at a time, press it flat in your palm to form a 4-inch round. Place about 2 tablespoons of filling in the center (e.g., cheese, beans, or a mix). Fold the edges of the dough up and over the filling, pinching to seal completely. Gently pat the filled ball between your palms to flatten into a 5-inch disc, being careful not to let the filling leak out. If the dough cracks, moisten your hands with water and patch it.
- Cook the pupusas: Heat a large cast-iron skillet or griddle over medium-high heat and lightly brush with oil. Working in batches, cook the pupusas for 3–4 minutes per side, until golden brown spots appear and the cheese is melted (if using cheese). Add more oil between batches if needed.
- Serve immediately: Keep cooked pupusas warm in a 200°F (95°C) oven while cooking the rest. Serve hot with curtido and salsa roja on the side.
Tips
- Dough consistency is key: If the dough is too dry, pupusas will crack and leak. If too wet, they’ll stick to your hands. Adjust with water or masa harina as needed. The dough should be moist but not sticky.
- Seal well: Make sure the filling is completely enclosed before flattening. Any hole will cause the filling to ooze out during cooking.
- Use a hot skillet: A properly preheated pan gives the pupusas a nice crust and prevents sticking. Don’t overcrowd the pan—cook in batches.
- Substitutions: If you can’t find masa harina, use fresh masa (masa nixtamalera) if available. For cheese, queso fresco or a Mexican melting cheese like Chihuahua works well. For a vegan version, use vegan cheese and beans.
Serving Suggestions
Serve pupusas hot off the griddle with a generous spoonful of curtido on top and a drizzle of salsa roja. They are a complete meal on their own, but you can also serve them with a side of rice and beans, or with a simple salad. For a heartier meal, add a fried egg on top.
Variations
- Queso y Loroco: Mix shredded cheese with loroco flower buds (a traditional Salvadoran ingredient) for an authentic flavor. If loroco is unavailable, you can omit it or substitute with a few chopped cilantro leaves.
- Revuelta: This popular combination includes pork, cheese, and beans. Mix all three fillings together before stuffing.
- Zucchini or Spinach: Sautéed and seasoned vegetables can be added to the cheese for a vegetarian twist.
- Sweet Pupusas: For a dessert version, fill with a bit of chocolate or sweet plantain (maduros).
Storage and Reheating
Store leftover pupusas in an airtight container in the refrigerator for up to 3 days. To reheat, place them in a dry skillet over medium heat for 2–3 minutes per side, or in a toaster oven at 350°F (175°C) for 5–7 minutes. Avoid microwaving, as it makes them soggy. The curtido will keep in the fridge for up to 1 week, and the salsa for up to 5 days.
Frequently Asked Questions
Can I use all-purpose flour instead of masa harina? No, masa harina is specially treated corn flour that gives pupusas their distinct flavor and texture. All-purpose flour will not work the same way. If you can’t find masa harina, look for corn flour labeled “masa” or “for tortillas” in Latin grocery stores.
My pupusas keep cracking when I flatten them. What am I doing wrong? This usually means the dough is too dry. Add a little more water to the dough and knead it again. Also, keep the dough balls covered with a damp towel while you work, so they don’t dry out.
Can I make pupusas ahead of time? Yes, you can assemble the pupusas and refrigerate them (uncovered) for a few hours before cooking. Place them on a baking sheet lined with parchment paper, cover with plastic wrap, and cook within 24 hours. You can also freeze cooked pupusas for up to 2 months; reheat directly from frozen in a skillet.
What is the best cheese for pupusas? A good melting cheese like mozzarella, Monterey Jack, or a Mexican blend works best. Traditional Salvadoran cheese like queso fresco is drier and won’t melt as well, but you can mix it with a melting cheese for flavor.
Can I use a tortilla press to flatten the pupusas? Yes, but you’ll need to line the press with plastic wrap or a zip-top bag cut open. Place the filled dough ball between the plastic and press gently, then finish shaping by hand to ensure the filling is evenly distributed.
How do I know when the pupusas are done? They are done when they have golden-brown spots on both sides and feel slightly firm to the touch. If using cheese, you’ll notice it bubbling out slightly at the edges—that’s a good sign.
Related
- Peking Duck Chinese Style: A Practical Home Recipe
- Snake River Farms Online Store: Wagyu Steak Guide
- Balut: Filipino Fertilized Duck Egg, Served the Traditional Way
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).