Pupusas are thick Salvadoran corn cakes filled with cheese, beans, or meat, cooked on a hot griddle and served with tangy cabbage curtido and tomato salsa roja. This revueltas-style recipe combines pork, beans, and cheese for a savory filling; family and regional versions vary, and the fillings can be adapted to what is available.
Ingredients
- 4 cups (280 g) finely shredded green cabbage
- 1 medium carrot, peeled and grated, about ½ cup (60 g)
- ¼ small white onion, thinly sliced, about ¼ cup (35 g)
- ½ cup (120 ml) white vinegar
- ½ cup (120 ml) warm water, for the curtido
- ¾ teaspoon (4 g) fine salt, divided, plus more to taste
- ½ teaspoon (1 g) dried oregano
- 1 tablespoon (15 ml) neutral oil, divided
- 8 ounces (227 g) ground pork
- ¼ teaspoon (0.5 g) ground cumin
- ½ cup (130 g) refried red or black beans
- 1 cup (110 g) shredded quesillo or low-moisture mozzarella
- 2 cups (240 g) masa harina for tortillas, not cornmeal
- 1½ cups (355 ml) warm water, for the masa, plus 1–3 tablespoons (15–45 ml) if needed
- ½ teaspoon (3 g) fine salt, for the masa
- 1 pound (450 g) ripe tomatoes, roughly chopped
- ¼ medium white onion, roughly chopped, about 35 g
- 1 small garlic clove, peeled
- ¼ cup (60 ml) water, for the salsa
- 1 tablespoon (15 ml) neutral oil, for the salsa
- 1 small jalapeño, seeded for milder salsa or left whole for more heat, optional
Instructions
- Start the curtido. Put the cabbage, carrot, and sliced onion in a large bowl. Sprinkle with ¼ teaspoon (1 g) salt and toss, gently squeezing the vegetables for about a minute to help them soften. Stir together the vinegar, warm water, oregano, and remaining ½ teaspoon (3 g) salt, then pour over the vegetables. Toss again, cover, and let stand at room temperature for 30 minutes while you prepare the rest of the meal. The result should be tangy and crisp, not limp.
- Make the salsa roja. Combine the tomatoes, chopped onion, garlic, water, and optional jalapeño in a small saucepan. Bring to a simmer over medium heat, then cook uncovered for 10–12 minutes, stirring occasionally, until the tomatoes are soft. Blend until smooth with an immersion blender, or cool briefly and blend carefully in a countertop blender. Return the sauce to the pan if needed and simmer for 2 more minutes. Stir in the salsa oil and salt to taste. Set aside; it can be served warm or at room temperature.
- Cook the pork filling. Heat 1 teaspoon (5 ml) oil in a skillet over medium heat. Add the ground pork and cumin and cook, breaking the meat into small pieces, for 8–10 minutes, until browned and no longer pink. Check the thickest part with a food thermometer: USDA FSIS safe minimum for ground pork is 160°F (71°C). Drain excess fat if needed, then transfer the pork to a plate and let it cool for about 5 minutes so it is easier to handle.
- Mix the filling. In a bowl, stir the pork together with the refried beans and shredded cheese. Mash and mix until the ingredients hold together in a thick, spoonable mixture. Taste and add a pinch of salt if needed. If the mixture seems loose, add a little more cheese; it should be soft enough to spread inside the masa but not runny.
- Make the masa. In a separate bowl, whisk the masa harina with ½ teaspoon (3 g) salt. Add 1½ cups (355 ml) warm water and mix with your hand or a sturdy spoon until a soft dough forms. Knead for about 2 minutes. It should feel smooth and pliable, like soft modeling dough, and should not stick heavily to your fingers or crack at the edges. If it feels dry, work in water 1 tablespoon (15 ml) at a time. If it is sticky, knead in masa harina 1 tablespoon (8 g) at a time. Cover the dough with a damp towel while shaping.
- Shape the pupusas. Divide the dough into 8 equal portions and roll each into a ball. Keep your hands lightly damp. Flatten one ball into a disk about 4 inches (10 cm) wide, making the center slightly thicker than the edges. Place about 2 tablespoons (30 g) filling in the middle. Bring the edges up around the filling and pinch them closed, removing any excess dough at the top. Gently pat the ball between your palms into a disk about ½ inch (1.3 cm) thick. If a small tear appears, patch it with a bit of dough. Repeat with the remaining dough and filling.
- Cook the pupusas. Heat a large cast-iron skillet, griddle, or heavy nonstick pan over medium heat. Brush with a little of the remaining oil. Cook the pupusas in batches, leaving space between them, for about 3–4 minutes per side. Turn once they have golden-brown spots and feel set; lower the heat if they brown before the centers are hot. Cook each batch until the cheese is melted and the filling is steaming, about 7–8 minutes total per pupusa. Transfer to a plate and cover loosely with a clean towel while you cook the rest.
- Serve. Drain the curtido lightly before serving, or spoon a little of its brine over the vegetables if you like extra tang. Serve each person two hot pupusas with curtido and salsa roja on the side. Let everyone add the toppings to taste so the cakes stay crisp on the outside.
Tips
- Use masa harina labeled for tortillas, which is made from nixtamalized corn. Fine cornmeal or regular corn flour will not hydrate or shape the same way. If masa harina is hard to find, look for it in Latin American grocery stores or the international aisle.
- Quesillo is a traditional fresh melting cheese, but it may be difficult to source. Low-moisture mozzarella is a practical substitute; it melts well and has a mild flavor, though it is less salty and tangy. Taste the filling before shaping and season it accordingly.
- Keep the masa covered between portions. If it dries while you work, cracks are more likely; dampen your hands and knead in a teaspoon of water rather than adding a large splash all at once. Avoid overfilling, which can split the cakes and make cheese leak onto the pan.
- A nonstick skillet works, but a well-seasoned cast-iron pan gives especially even browning. Use only a thin film of oil. Too much oil fries the surface instead of producing the familiar dry, toasted griddle marks.
Serving Suggestions
Serve pupusas as a filling lunch or dinner, with curtido and salsa roja beside them rather than hidden underneath. The cabbage provides a crisp, vinegary contrast to the warm corn dough and rich filling. Put the condiments in separate bowls so diners can add a small forkful of curtido to each bite and spoon on as much salsa as they prefer.
For a larger Salvadoran-inspired meal, add a simple green salad, sliced avocado, or a bowl of black beans. Rice is not necessary because the pupusas are substantial, but it can round out a meal when serving smaller pupusas. A light, unsweetened drink such as agua fresca or sparkling water with lime also pairs well with the savory filling. If serving several people, cook the pupusas in batches and keep them loosely covered; a tightly sealed lid traps steam and softens their browned surfaces.
Variations
Bean and cheese: Leave out the pork and use about ¾ cup (195 g) refried beans with the cup of cheese. This is a straightforward vegetarian filling; check that the beans are made without lard if you need the meal to be vegetarian.
Cheese-only: Use about 1¼ cups (140 g) shredded quesillo or mozzarella. A little crumbled, mild white cheese can be mixed in for a saltier, more pronounced flavor. Keep the filling amount modest so the cheese does not escape as it melts.
Different meat: Finely chopped cooked pork, such as leftover roast, can replace the ground pork. Use 8 ounces (227 g), chop it small, and warm it with the cumin before mixing it into the beans and cheese. If substituting raw ground beef, cook it to the USDA FSIS safe minimum of 160°F (71°C) before combining it with the other filling ingredients.
Milder or hotter salsa: Omit the jalapeño for a mild sauce, or leave in some seeds for more heat. A small green bell pepper can replace it for a sweeter, less spicy flavor, although that changes the salsa’s character. Salsa recipes vary, so adjust the heat and salt to suit the people at your table.
Smaller cakes: Divide the dough into 10 portions for appetizer-size pupusas. Use a little less filling in each and check them a minute or two earlier, since thinner or smaller cakes may cook faster. Keep the same medium heat to give the center time to warm before the outside overbrowns.
Storage and Reheating
For food safety, refrigerate cooked pupusas, pork filling, salsa, and curtido within 2 hours of cooking or serving. Store them in separate airtight containers. Cooked pupusas and pork filling keep for 3–4 days in the refrigerator; the salsa and curtido are best used within about 3–4 days as well. The curtido will soften as it sits, but it should remain pleasantly crisp during the first few days.
Reheat pupusas in a lightly oiled skillet over medium-low heat, turning once, until hot throughout. For leftovers, the USDA FSIS recommendation is to reheat to 165°F (74°C); check the center with a food thermometer, especially if the pupusas are thick or have been stacked in the refrigerator. A microwave also works: cover one pupusa with a barely damp paper towel and heat in short bursts, then use a skillet briefly if you want to restore some browning. Reheat salsa gently in a small pan or microwave-safe bowl. Curtido is usually served chilled or cool and does not need reheating.
To freeze cooked pupusas, cool them promptly, separate them with parchment, and freeze in a sealed freezer-safe container for up to 2 months for best quality. Thaw overnight in the refrigerator, then reheat to 165°F (74°C). The curtido is better made fresh or refrigerated rather than frozen, because freezing makes the cabbage watery and soft.
Frequently Asked Questions
What does revueltas mean in pupusas?
Revueltas means mixed. In this recipe, the filling combines pork, beans, and cheese, but the proportions and ingredients vary among cooks. The important practical point is to keep the mixture cohesive and not too wet so it stays inside the masa while cooking.
Can I make pupusa dough ahead?
It is easiest to shape pupusas soon after mixing the masa, while the dough is soft and hydrated. If you need to pause briefly, cover the bowl tightly with a damp towel. Masa dough can dry out in the refrigerator, so for advance preparation it is more reliable to cook the pupusas and refrigerate them, then reheat when needed.
Why are my pupusas cracking?
Cracks usually mean the dough is too dry, the edges were not sealed well, or the filling was packed too close to the surface. Knead in water a teaspoon at a time, keep the dough covered, and use damp hands to shape. If a crack forms, patch it with a small piece of masa before putting the cake on the griddle.
Can I use canned beans?
Yes. Drain and mash canned beans, then season them lightly before mixing with the pork and cheese. Refried beans are convenient because they are already soft and cohesive, but mashed canned beans work well too. If they are loose, cook them briefly in a pan to evaporate excess moisture and cool before filling the pupusas.
Can I prepare the curtido the day before?
Yes. Refrigerate it in a covered container after mixing, then taste it before serving. A longer rest deepens the vinegar flavor and softens the cabbage somewhat. If it tastes too sharp, drain a little brine; if it needs more brightness, add a small splash of vinegar just before serving.
How can I tell when a pupusa is cooked through?
The outside should have toasted brown spots, and the cake should feel set rather than doughy. The cheese should be melted and the center steaming hot when opened. Keep the pan at medium heat: very high heat can brown the outside before the filling warms, while low heat can dry the cakes before they develop good color.
Related
- Salvadoran Coleslaw Recipe: A Crisp, Tangy Curtido
- Salvadoran Chorizo Recipe with Achiote and Garlic
- Salvadoran Salsa Roja Recipe for Pupusas and More
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).