Salvadoran Cheese Pupusas with Curtido & Salsa Roja
Thick, handmade Salvadoran pupusas of soft corn masa filled with melted white cheese and griddled until speckled with brown char, served with crisp, tangy curtido and smooth tomato salsa roja, make a classic Central American griddle dish, the key being a fully sealed pocket of cheese in dough that never cracks. Hydrating the masa harina until it feels like smooth play dough, then resting it for 10 minutes, rather than shaping it straight after mixing, is the technique this whole dish depends on for pupusas that flatten without splitting — dry dough cracks and leaks cheese onto the griddle while overly wet dough sticks and tears, the same hydrate-then-rest principle used elsewhere in this collection whenever a masa or flour dough must be pressed thin around a filling. Sealing the cheese completely and patching any crack at once is what keeps the filling inside the masa instead of blowing out onto the hot surface. Cooking over medium to medium-low heat is what lets the cheese melt fully while the outside browns gently around a cooked centre. The payoff is a pupusa with real, homely contrast — golden masa with dark toasted spots, a steamy tender crumb, gently stretchy melted cheese, crunchy vinegary curtido, and a loose, sweet-tart tomato salsa.

Prep Time : 35 min
Total Time : 1 hr 40 min
Servings : 4
35 min
1 hr 40 min
4
Ingredients
For the Curtido
• 400g green cabbage, very finely shredded
• 1 medium carrot, peeled and julienned or coarsely grated
• ½ small white onion, very thinly sliced
• 1 tsp dried Mexican oregano
• 1 tsp kosher salt
• 1 tsp sugar
• ¼ tsp black pepper
• 180ml hot water
• 120ml white vinegar or apple cider vinegar
• 1 small jalapeño or serrano, thinly sliced, optional
For the Salsa Roja
• 500g ripe tomatoes, roughly chopped
• ½ small white onion, roughly chopped
• 1 garlic clove
• 1 small jalapeño, seeded or left whole to taste
• 120–180ml water
• 1 tbsp neutral oil
• ½ tsp kosher salt, plus more to taste
For the Cheese Filling
• 450g Salvadoran quesillo, queso Oaxaca, low-moisture mozzarella, or a mix of mozzarella and Monterey Jack, shredded
• 1–2 tbsp crema or water, optional, only if the cheese feels stiff
For the Pupusa Dough
• 500g masa harina
• 8g kosher salt
• 720–760ml warm water, about 38–40°C
• 1 tbsp neutral oil, plus more for oiling your hands
• 1 tsp chicken bouillon powder, optional, not traditional in every version
For Cooking and Serving
• Neutral oil, only a very light film for the griddle if needed
• Curtido, for serving
• Salsa roja, for serving
Directions
- Make the Curtido
Combine the 400g of cabbage, the carrot, ½ small onion, 1 tsp of oregano, 1 tsp of salt, 1 tsp of sugar, and ¼ tsp of black pepper in a large bowl. Pour over the 180ml of hot water, toss well, and leave for 5 minutes so the cabbage softens slightly, then drain off most of the liquid. Add the 120ml of vinegar and the optional sliced chile and toss thoroughly. Press the mixture down lightly, cover, and rest for at least 30 minutes, ideally 2–24 hours in the refrigerator. The cabbage should be tender at the edges but still crisp, glossy, and tangy. That short hot soak is what takes away the raw bite without cooking the cabbage limp, which a long soak would do. - Make the Salsa Roja
While the curtido rests, put the 500g of tomatoes, ½ small onion, garlic clove, jalapeño, 120ml of the water, and ½ tsp of salt in a saucepan. Bring to a simmer over medium heat and cook for 10–12 minutes, until the tomatoes have collapsed and the onion is soft. Blend until completely smooth, return the sauce to the pan with the 1 tbsp of oil, and simmer for 5–8 minutes more, adding up to 60ml more water if it thickens too far. Taste and adjust the salt. The salsa should be smooth, loose, and naturally red-orange, spooning easily rather than sitting thick like a dip. That final simmer in oil is what rounds off the raw tomato edge and gives the sauce a glossy body. - Prepare the Cheese Filling
Put the 450g of shredded cheese in a bowl and toss it with your fingers to break up any clumps. If the cheese feels stiff or dry, mix in 1–2 tbsp of crema or water, just until it clumps lightly when squeezed in your palm. Divide it into 12 portions of about 35–38g each and set them on a plate. The filling should hold together loosely and look moist but not wet, with no pooling liquid in the bowl. That small amount of moisture is what lets the cheese melt evenly into a stretchy pocket, whereas a wet filling seeps through the masa and leaks onto the griddle. - Make the Masa Dough
Combine the 500g of masa harina, 8g of salt, and the optional bouillon powder in a large bowl. Add 720ml of warm water, about 38–40°C, and the 1 tbsp of oil, then mix with your hand until a soft dough forms and knead for 2–3 minutes until smooth. If the dough cracks badly when pressed flat, work in up to 40ml more warm water, 1 tablespoon at a time. Cover and rest for 10 minutes. The dough should feel soft, moist, and pliable like smooth play dough, without sticking heavily to your hands. That rest is what lets the masa harina absorb the water fully, so it presses out without cracking or bursting. - Portion and Shape the Pupusas
Divide the dough into 12 equal balls of about 100–105g each and keep them covered with a damp cloth. Lightly oil or wet your hands, then flatten one ball into a thick disc about 9–10cm wide, leaving the centre slightly thicker than the edges. Place one cheese portion in the centre, bring the edges up around it, and pinch closed completely. Gently pat and rotate the filled ball between your palms until it is a round pupusa 10–12cm wide and about 1cm thick. If a crack forms, patch it at once with a small pinch of dough and smooth it over. That sealed, evenly thick shape is what stops the cheese breaking through a thin centre. - Cook the Pupusas
Heat a cast-iron skillet, comal, or griddle over medium to medium-low heat, adding only a very light film of oil if needed. Cook the pupusas in batches of 3–4 for 4–5 minutes on the first side, until lightly browned with dark griddle spots. Flip and cook another 4–5 minutes, then flip once more if needed and cook for 1–2 minutes until heated through and lightly puffed. The exterior should be golden with charred brown spots, while the inside stays tender and steamy with fully melted cheese. That moderate heat is what lets the centre cook through, because high heat browns the outside long before the dough sets and the cheese melts. - Serve
Serve 3 pupusas per person on warm plates, with a small mound of curtido and a spoonful of salsa roja alongside, and bring them to the table immediately while the cheese is hot and soft. Each pupusa should look thick, handmade, and softly puffed, with visible toasted spots, and when torn open the cheese should be fully melted and gently stretchy, never runny or greasy. Eat them warm, topping each bite with a little crisp curtido and a spoonful of salsa. That immediate serve is what keeps the cheese stretchy and the warm masa in sharp contrast with the cool, crunchy curtido.
*Notes :
- Hydrating and resting the masa deserves genuine recognition as the technique most directly responsible for whether the pupusas press out smoothly or crack apart. Masa harina brands absorb water at different rates, so the 10-minute rest followed by tablespoon-sized water additions lets you judge a truly pliable dough, whereas dry dough splits and wet dough clings to your hands and tears.
- Choosing a low-moisture melting cheese deserves the same attention this technique receives throughout this collection’s other stuffed and griddled dishes. Salvadoran quesillo, queso Oaxaca, and low-moisture mozzarella melt into a stretchy pocket with little liquid, whereas fresh mozzarella releases too much water, seeps through the masa, softens the walls, and makes the pupusa difficult to seal.
- Restraint with the filling deserves genuine respect as the detail most directly responsible for pupusas that survive the griddle intact. About 35–38g of cheese inside 100–105g of dough leaves enough masa to pinch shut around it, while overloading the centre stretches the walls thin and lets the cheese break through, leak onto the hot surface, and burn.
- The moderate griddle heat deserves attention as a genuine, checkable cooking cue rather than a loose approximation. If the outside browns quickly in the first minutes, the centre stays doughy and the cheese stays solid, so lowering the heat and watching for evenly toasted spots, with a puffed surface, matters more than the clock.
Why This Recipe Works
This recipe works because each stage protects the dough, the cheese, or the contrast on the plate. Resting the masa until it is soft like play dough lets it press thin without cracking, and a modest, fully sealed portion of low-moisture cheese stays inside instead of blowing out. Moderate griddle heat cooks the centre through while the cheese melts and the surface browns in spots. Curtido made ahead turns crisp cabbage tangy, and a loose, smooth salsa adds sweet-tart moisture. The result is a thick, tender, lightly charred pupusa with a stretchy, molten centre.
Ingredient Breakdown
Rested Masa Dough (Soft Like Play Dough)
The critical technique — a 10-minute rest lets the corn flour hydrate, so dough presses thin without cracking.
Low-Moisture Melting Cheese
The critical ingredient choice — quesillo, Oaxaca, or mozzarella melt into a stretchy pocket, while fresh mozzarella is too wet to seal.
Completely Sealed Filling
The critical safeguard — pinching shut and patching cracks keeps the cheese inside the masa instead of leaking onto the griddle.
Medium to Medium-Low Griddle Heat
The critical timing technique — gentle heat cooks the centre and melts the cheese while the outside browns slowly.
Short-Soaked Curtido (Rested 2–24 Hours)
The defining flavour ingredient — brief hot water softens cabbage while vinegar builds a tangy, crisp slaw.
Smooth, Loose Salsa Roja
The finishing touch — a blended, lightly simmered tomato sauce adds gentle sweetness and acidity without overpowering the cheese.
Flavor Structure Explained
This Salvadoran cheese pupusa with curtido and salsa roja follows a layered balance model:
- Toasty, corn-sweet foundation (masa harina, griddle char)
- Rich, stretchy centre (melted quesillo, Oaxaca, or mozzarella)
- Tangy, crisp contrast (cabbage, carrot, onion, vinegar)
- Gentle herbal note (Mexican oregano, optional chile)
- Smooth, sweet-tart finish (tomato, onion, garlic, jalapeño salsa)
The griddled masa gives the plate a toasty, corn-sweet base that everything else leans on, with dark char adding a faintly smoky edge. Melted cheese fills the centre with a rich, milky stretch, while the curtido cuts through it with crisp vinegar and a quiet oregano note. Salsa roja adds a smooth, sweet-tart tomato finish that spoons over each bite without drowning it, and that balance of soft, rich, crunchy, and bright is what ties the pupusas together.
Common Mistakes to Avoid
- Letting the Dough Dry Out – This causes cracked edges and cheese blowouts once the pupusa is pressed flat. Always keep the dough soft like play dough, adding warm water a tablespoon at a time.
- Overfilling with Cheese – This thins the dough walls and makes sealing difficult, so cheese bursts out and burns. Always use only 35–38g of cheese per 100–105g ball of dough.
- Using Fresh Mozzarella – This releases water that seeps through the masa and prevents a clean seal. Always choose low-moisture quesillo, Oaxaca, or mozzarella for a stretchy, contained filling.
- Cooking Over High Heat – This browns the outside quickly while the centre stays raw and the cheese solid. Always keep the griddle at medium to medium-low heat, giving each side 4–5 minutes.
- Over-Soaking the Curtido – This leaves the cabbage limp and watery instead of crisp and tangy. Always limit the hot water soak to 5 minutes, drain, and let the vinegar do the rest.
Variations
Savoury Bouillon Version
Mix 1 tsp of chicken bouillon powder into the masa harina before adding the water, which gives the dough a more seasoned, savoury flavour, though it is not traditional in every version.
Mixed Cheese Version
Use a blend of low-moisture mozzarella and Monterey Jack in place of quesillo or Oaxaca, which melts into a similarly stretchy, mild filling when the traditional cheeses are hard to find.
Spicy Curtido Version
Add the optional thinly sliced jalapeño or serrano to the curtido, which brings a clean green heat that cuts through the melted cheese and keeps the slaw lively.
Creamier Filling Version
Stir the full 2 tbsp of crema into the shredded cheese instead of water, which softens a stiff filling and gives the melted centre a slightly richer, silkier finish.
Storage & Make-Ahead
Shred the cheese yourself from a block of low-moisture quesillo, Oaxaca, or mozzarella, because bagged shreds are often drier and stiffer, so they melt less evenly and need more moisture added to clump together.
Make the curtido 2–24 hours ahead and keep it covered in the refrigerator, where it deepens in flavour, and cook the salsa roja a day ahead so only the masa and griddling remain on serving day.
Shaped pupusas can rest under a damp cloth for up to 30 minutes before cooking, and finished pupusas hold on a baking tray in a 90°C oven for about 20 minutes while the remaining batches cook.
Cool leftover pupusas within 2 hours and refrigerate them in an airtight container for up to 3 days, or freeze them in a single layer, then bag them, for up to 2 months.
Reheat refrigerated or frozen pupusas in a dry skillet over medium-low heat for 3–4 minutes per side until hot and the cheese is soft again, since a microwave leaves the masa damp and chewy.
Frequently Asked Questions
Why does the masa dough need to rest for 10 minutes before shaping?
Resting gives the masa harina time to absorb the water fully, so the dough turns soft and uniform. Without it, the surface dries and cracks as you flatten, and the cheese escapes.
Why should the filling use low-moisture cheese instead of fresh mozzarella?
Low-moisture cheese melts into a stretchy pocket without releasing much water. Fresh mozzarella weeps liquid that seeps through the masa, softening the walls and making a clean seal almost impossible.
Why are the pupusas cooked over medium to medium-low heat instead of high?
The pupusa is thick, so the centre needs time to cook and the cheese needs time to melt. High heat browns the outside first and leaves doughy masa and unmelted cheese inside.
Why is the curtido soaked briefly in hot water and then rested in vinegar?
The 5-minute hot soak takes the raw edge off the cabbage without cooking it soft. The vinegar then tenderises and flavours it slowly, which is why a rest of 2–24 hours tastes better.
Are there other classic stuffed corn, salsa, or quesadilla dishes worth trying?
Salvadoran Chicken Pupusas offers another classic stuffed corn direction worth exploring. Arepas con Queso and Salsa Roja are also worth trying for another cheese-filled corn cake and a simple red salsa, and Gorditas with Chicharrón and Salsa and Mexican Black Bean Quesadilla offer other griddled, filled dishes worth exploring.
Nutrition Facts
( Per Serving — 3 pupusas )
Calories
~950 kcal
Protein
39 g
Fat
41 g
Carbs
118 g
Calories
~950 kcal
Protein
39 g
Fat
41 g
Carbs
118 g
Related Recipes
Related Recipes
You might also like
You might also like

Salvadoran Cheese Pupusas with Curtido & Salsa Roja
Ingredients
Method
- Combine the 400g of cabbage, the carrot, ½ small onion, 1 tsp of oregano, 1 tsp of salt, 1 tsp of sugar, and ¼ tsp of black pepper in a large bowl. Pour over the 180ml of hot water, toss well, and leave for 5 minutes so the cabbage softens slightly, then drain off most of the liquid. Add the 120ml of vinegar and the optional sliced chile and toss thoroughly. Press the mixture down lightly, cover, and rest for at least 30 minutes, ideally 2–24 hours in the refrigerator. The cabbage should be tender at the edges but still crisp, glossy, and tangy. That short hot soak is what takes away the raw bite without cooking the cabbage limp, which a long soak would do.
- While the curtido rests, put the 500g of tomatoes, ½ small onion, garlic clove, jalapeño, 120ml of the water, and ½ tsp of salt in a saucepan. Bring to a simmer over medium heat and cook for 10–12 minutes, until the tomatoes have collapsed and the onion is soft. Blend until completely smooth, return the sauce to the pan with the 1 tbsp of oil, and simmer for 5–8 minutes more, adding up to 60ml more water if it thickens too far. Taste and adjust the salt. The salsa should be smooth, loose, and naturally red-orange, spooning easily rather than sitting thick like a dip. That final simmer in oil is what rounds off the raw tomato edge and gives the sauce a glossy body.
- Put the 450g of shredded cheese in a bowl and toss it with your fingers to break up any clumps. If the cheese feels stiff or dry, mix in 1–2 tbsp of crema or water, just until it clumps lightly when squeezed in your palm. Divide it into 12 portions of about 35–38g each and set them on a plate. The filling should hold together loosely and look moist but not wet, with no pooling liquid in the bowl. That small amount of moisture is what lets the cheese melt evenly into a stretchy pocket, whereas a wet filling seeps through the masa and leaks onto the griddle.
- Combine the 500g of masa harina, 8g of salt, and the optional bouillon powder in a large bowl. Add 720ml of warm water, about 38–40°C, and the 1 tbsp of oil, then mix with your hand until a soft dough forms and knead for 2–3 minutes until smooth. If the dough cracks badly when pressed flat, work in up to 40ml more warm water, 1 tablespoon at a time. Cover and rest for 10 minutes. The dough should feel soft, moist, and pliable like smooth play dough, without sticking heavily to your hands. That rest is what lets the masa harina absorb the water fully, so it presses out without cracking or bursting.
- Divide the dough into 12 equal balls of about 100–105g each and keep them covered with a damp cloth. Lightly oil or wet your hands, then flatten one ball into a thick disc about 9–10cm wide, leaving the centre slightly thicker than the edges. Place one cheese portion in the centre, bring the edges up around it, and pinch closed completely. Gently pat and rotate the filled ball between your palms until it is a round pupusa 10–12cm wide and about 1cm thick. If a crack forms, patch it at once with a small pinch of dough and smooth it over. That sealed, evenly thick shape is what stops the cheese breaking through a thin centre.
- Heat a cast-iron skillet, comal, or griddle over medium to medium-low heat, adding only a very light film of oil if needed. Cook the pupusas in batches of 3–4 for 4–5 minutes on the first side, until lightly browned with dark griddle spots. Flip and cook another 4–5 minutes, then flip once more if needed and cook for 1–2 minutes until heated through and lightly puffed. The exterior should be golden with charred brown spots, while the inside stays tender and steamy with fully melted cheese. That moderate heat is what lets the centre cook through, because high heat browns the outside long before the dough sets and the cheese melts.
- Serve 3 pupusas per person on warm plates, with a small mound of curtido and a spoonful of salsa roja alongside, and bring them to the table immediately while the cheese is hot and soft. Each pupusa should look thick, handmade, and softly puffed, with visible toasted spots, and when torn open the cheese should be fully melted and gently stretchy, never runny or greasy. Eat them warm, topping each bite with a little crisp curtido and a spoonful of salsa. That immediate serve is what keeps the cheese stretchy and the warm masa in sharp contrast with the cool, crunchy curtido.






