Pupusas are the soul of El Salvadoran cuisine, thick handmade corn tortillas pressed around savory fillings and cooked on a dry comal until they blister and char at the edges. While most people know them as street food sold at roadside puestos, they are also a quietly formidable nutritional achievement. The combination of masa harina (nixtamalized corn), black beans, and loroco, a native Central American vine flower with a flavor somewhere between artichoke, green bean, and mild cheese, produces one of the most iron-dense plant-based meals in traditional Latin cuisine.
The secret lies in nixtamalization, the ancient Mesoamerican process of soaking dried corn in an alkaline lime solution before grinding it into masa. This chemical transformation does not merely soften the corn; it unlocks niacin bound inside the grain, dramatically increases bioavailable calcium, and raises the overall mineral density of every tortilla pressed from the dough. Paired with black beans that contribute non-heme iron, folate, and a full spectrum of B vitamins, and loroco whose polyphenols have been studied for their antioxidant activity in Guatemalan and Salvadoran botanical research, this dish earns its place in the Mineral Matrix category with rigorous scientific backing.
This recipe is calibrated for four generous servings of two pupusas each, served with curtido, the lightly fermented cabbage slaw that is non-negotiable in any authentic presentation. The fermentation process in the curtido produces lactic acid that actively enhances non-heme iron absorption by lowering the gut pH during digestion, making it a functional accompaniment, not merely a garnish. We give you three cooking methods for the bean filling and two for the pupusas themselves, so you can fit this recipe into any schedule.
4
servings
Ingredients
- 480 gmasa harina (nixtamalized corn flour, such as Maseca brand)
- 480 mlwarm water, plus more as needed
- 1 tspfine sea salt, for the masa
- 400 gdried black beans, soaked overnight and drained
- 120 gloroco blossoms, fresh or jarred (drained weight if jarred)
- 80 gwhite onion, finely diced
- 4 clovesgarlic, minced
- 2 tbspextra-virgin olive oil
- 1 tspground cumin
- 0.5 tspsmoked paprika
- 700 mllow-sodium vegetable broth
- 300 ggreen cabbage, very finely shredded
- 1 mediumcarrot, peeled and grated
- 60 mlapple cider vinegar
- 1 tspdried oregano
- 0.5 tspfine sea salt, for the curtido
- —Fine sea salt and black pepper to taste
- —Tomato salsa roja, for serving (store-bought or homemade)
Instructions
🔧 Equipment
- Make the curtido first: combine the shredded cabbage, grated carrot, dried oregano, and 0.5 tsp sea salt in a large bowl. Pour the apple cider vinegar over the top and toss firmly, massaging the cabbage until it begins to soften and release liquid, about 2 minutes. Press a plate on top to submerge the vegetables, cover with a clean cloth, and leave at room temperature for at least 30 minutes while you cook.
- Cook the bean filling: heat 2 tbsp olive oil in a heavy-bottomed medium saucepan over medium heat. Add the diced onion and cook, stirring occasionally, for 6 to 8 minutes until soft and lightly golden. Add the minced garlic, ground cumin, and smoked paprika. Stir constantly for 90 seconds until the spices bloom and the garlic is fragrant but not browned.
- Add the soaked and drained black beans to the pot and pour in the vegetable broth. Bring to a boil over high heat, then reduce to a steady simmer. Cover with a lid slightly ajar and cook for 40 to 50 minutes, stirring every 10 minutes, until the beans are completely tender and have absorbed most of the liquid. Season generously with salt and pepper. Remove from heat and use a potato masher or the back of a large spoon to mash the beans to a rough, spreadable paste, leaving some texture. Fold in the loroco blossoms and stir to distribute evenly. Let the filling cool for 10 minutes before stuffing.
- While the filling cools, make the masa dough: combine the masa harina and 1 tsp sea salt in a large bowl. Gradually pour in the warm water, mixing with your hands as you go. Knead the dough for 3 to 4 minutes until it is smooth, pliable, and does not crack at the edges when you press a ball flat. If the dough cracks, add water one tablespoon at a time. If it sticks to your hands, add masa harina one tablespoon at a time. The dough should feel like soft play-dough. Divide into 8 equal balls, roughly 90g each, and keep them covered with a damp cloth.
- Shape the pupusas: lightly dampen your palms with water. Take one masa ball and flatten it in your palm into a disc about 10cm across. Place 2 heaped tablespoons of the bean-loroco filling in the center. Bring the edges of the dough up around the filling, pinching them together firmly to seal. Gently press and rotate the stuffed ball between your palms, gradually flattening it into a disc about 1cm thick and 12cm across. Seal any cracks by smoothing the dough with a damp finger. Repeat with remaining dough and filling.
- Heat a large cast iron skillet or comal over medium-high heat for 3 minutes until very hot. No oil is needed. Cook the pupusas in batches of 2 to 3, without crowding, for 4 to 5 minutes per side. They should develop dark brown or lightly charred patches and feel firm when pressed. Adjust heat as needed: if they brown in under 3 minutes, reduce to medium. Keep cooked pupusas warm in a 100C (210F) oven while you finish the remaining batches.
- Serve two pupusas per person topped with a generous pile of curtido and a spoonful of salsa roja alongside.
- The night before (or 8 hours before serving): place the soaked and drained black beans directly into the slow cooker insert. Add the diced onion, minced garlic, ground cumin, smoked paprika, and the full 700ml of vegetable broth. Do not add salt at this stage as it can prevent dried beans from fully softening. Stir briefly to combine, put on the lid, and cook on Low for 7 to 8 hours until the beans are completely tender and the liquid has reduced to a thick, gravy-like consistency.
- Make the curtido while the beans cook (or the night before alongside them): combine the shredded cabbage, grated carrot, dried oregano, and 0.5 tsp sea salt in a large bowl. Add the apple cider vinegar and toss firmly, massaging the vegetables for 2 minutes. Transfer to a jar or container, press down firmly, seal, and refrigerate. An overnight soak produces a beautifully tangy, lightly fermented curtido with noticeably enhanced iron-absorption properties.
- When the beans are done, remove the lid and switch the slow cooker to High. Add the olive oil, then mash the beans vigorously with a potato masher directly in the insert, leaving some texture. Season with salt, pepper, and additional cumin or smoked paprika to taste. Fold in the loroco blossoms and stir well. Cook uncovered on High for a further 15 to 20 minutes, stirring once, to thicken the filling and drive off excess moisture. It must be thick and paste-like to stay inside the pupusas without leaking. Let cool slightly before using.
- Make the masa dough just before pressing: combine the masa harina and 1 tsp sea salt in a large bowl. Add warm water gradually, kneading for 3 to 4 minutes until smooth and pliable. Divide into 8 balls of about 90g each, cover with a damp cloth, and rest for 5 minutes.
- Shape the pupusas using the same technique as the stovetop method: flatten each ball in your damp palm, add 2 heaped tablespoons of the slow-cooker bean filling, seal the edges tightly, and press to a 1cm-thick disc. The slow-cooker filling tends to be slightly more liquid than stovetop, so chill it for 10 minutes in the refrigerator if shaping feels difficult.
- Heat a cast iron skillet or heavy non-stick pan over medium-high heat. Cook the pupusas in batches of 2 to 3 for 4 to 5 minutes per side until deeply browned and firm. Serve with the fermented curtido and salsa roja.
- Set the Instant Pot or electric pressure cooker to Saute mode on Medium heat. Add the olive oil and heat for 1 minute. Add the diced onion and saute for 5 to 6 minutes until softened and translucent. Add the minced garlic, ground cumin, and smoked paprika and saute for a further 60 seconds, stirring constantly, until fragrant. Press Cancel to turn off the saute function.
- Add the soaked and drained black beans and the vegetable broth to the pot. Stir to combine, scraping up any browned bits from the bottom to prevent the burn warning. Do not add salt yet. Secure the lid, set the valve to Sealing, and cook on Manual (or Pressure Cook) at High Pressure for 35 minutes.
- While the beans pressurize and cook, make the curtido: combine the shredded cabbage, grated carrot, dried oregano, and 0.5 tsp salt in a bowl. Add the apple cider vinegar and massage firmly for 2 minutes. Set aside at room temperature for at least 20 minutes, pressing occasionally to keep the vegetables submerged.
- Allow the pressure to release naturally for 15 minutes, then carefully switch the valve to Venting to release any remaining steam. Open the lid. The beans should be completely tender and sitting in a small amount of thick, dark liquid. Set the pot back to Saute mode on Low. Mash the beans directly in the pot with a potato masher to a coarse paste, season generously with salt and pepper, then fold in the loroco blossoms. Saute, stirring frequently, for 5 to 7 minutes until the filling is thick and pulls away from the sides of the insert. Press Cancel and let the filling cool for 10 minutes.
- While the filling cools, make the masa dough: mix masa harina, 1 tsp salt, and warm water together in a large bowl, kneading for 3 to 4 minutes to a smooth, crack-free dough. The pressure-cooker filling is very smooth and creamy, which means it holds its shape exceptionally well; this allows you to be slightly more generous with the filling per pupusa. Divide the dough into 8 balls of about 90g each.
- Shape and press the pupusas using damp palms: flatten each ball, add filling, seal tightly, and press to a 1cm-thick disc. Cook on a dry preheated cast iron skillet or comal over medium-high heat for 4 to 5 minutes per side until charred in spots and fully cooked through. Serve immediately with curtido and salsa roja.
- Preheat the oven to 220C (425F) with a heavy baking sheet or cast iron griddle pan inside on the middle rack, so it heats up along with the oven. This is essential for crisping the base of the pupusas without a comal. Line a second baking sheet with parchment paper for staging the shaped pupusas.
- Make the bean-loroco filling: heat the olive oil in a small saucepan over medium heat. Saute the diced onion for 5 minutes until soft, then add the garlic, cumin, and smoked paprika and cook for 60 seconds. Add two cans (800g drained) of pre-cooked black beans and 120ml of the vegetable broth. Mash the beans in the pan over medium heat for 5 to 6 minutes, stirring constantly, until you have a thick, dry paste. Season with salt and pepper. Remove from heat, fold in the loroco blossoms, and let the filling cool for 10 minutes.
- Make the curtido while the filling cools: toss the shredded cabbage, grated carrot, oregano, and salt together in a bowl. Pour over the apple cider vinegar and massage firmly for 2 minutes. Set aside.
- Make the masa dough: mix masa harina, 1 tsp salt, and warm water together and knead for 3 to 4 minutes until smooth and pliable. Divide into 8 balls of about 90g each. Shape the pupusas as described in the stovetop method: flatten in a damp palm, add 2 heaped tablespoons of filling, seal, and press to a 1cm-thick disc about 12cm across. Place the shaped pupusas on the parchment-lined staging sheet. Brush the tops and bottoms of each pupusa lightly with olive oil.
- Carefully remove the preheated baking sheet from the oven using oven mitts. Working quickly, transfer the pupusas onto the hot surface, spacing them at least 3cm apart. Bake for 11 to 12 minutes, then flip each pupusa carefully using a thin metal spatula and bake for a further 11 to 13 minutes until both sides are golden brown and the surface feels firm and slightly crisp. The high heat and preheated pan replicate the comal effect in the oven.
- Rest the baked pupusas on a wire rack for 2 minutes before serving, which helps the crust firm up and prevents sogginess. Pile generously with curtido and serve with salsa roja.
Nutrition Breakdown
Per 1 serving (makes 4)
Vitamins & Minerals
% Daily Value based on a 2,000 calorie diet (FDA reference)
🧬 Essential Amino Acids
% of recommended daily intake (RDA) per serving
🛡 Antioxidant Profile
The Nutrition Science
The iron story in this dish is a tale of two processes working in synergy. Black beans provide non-heme iron (Fe3+), which is inherently less bioavailable than the heme iron found in meat. However, nixtamalization of the corn masa does something remarkable: soaking corn kernels in a calcium hydroxide solution (slaked lime) and water before grinding breaks down the pericarp, releases bound minerals, and raises the overall pH of the grain. The resulting masa harina carries significantly higher bioavailable calcium and a mineral matrix that does not compete with iron absorption the way phytic acid in unprocessed grains does. Ancient Mesoamerican civilizations developed nixtamalization independently at least 3,500 years ago without understanding the biochemistry; modern nutritional science has since confirmed it as one of the most nutritionally sophisticated food processing techniques ever devised.
The curtido is not merely a condiment: it is a scientifically functional accompaniment. Lactic acid fermentation by naturally occurring Lactobacillus bacteria on the cabbage surface produces an acidic environment in the gut during digestion. Acidic pH in the duodenum is one of the primary conditions that enhance non-heme iron solubility and uptake through DMT-1 transporters in the intestinal brush border. A 2018 review in the journal Nutrients confirmed that fermented vegetables consumed alongside iron-rich legumes measurably increase iron absorption compared to the same meal eaten without a fermented component. Loroco blossoms, native to Guatemala and El Salvador, have been analyzed in Mesoamerican botanical studies and found to contain kaempferol and other flavonoids; while research is still emerging, these polyphenols appear to exert anti-inflammatory effects without chelating dietary minerals, making loroco an unusually iron-friendly antioxidant source.
The folate content of this dish (80% DV per serving) deserves special attention. Black beans are one of the most concentrated food sources of dietary folate (vitamin B9) on the planet, with a single 200g cooked serving providing over 250mcg. Folate is required for the synthesis of red blood cells and the methylation of homocysteine to methionine, making it a direct co-factor in the body’s ability to transport the iron provided by this very meal. In other words, the beans supply both the iron mineral and the B vitamin needed to build the hemoglobin that will carry it: a rare and elegant nutritional completeness in a single ingredient.
Pro Tips
- Fresh loroco is available at Latin American specialty grocers, particularly in areas with large Salvadoran or Guatemalan communities. Jarred loroco packed in brine is an excellent substitute and is shelf-stable; rinse it briefly under cold water before using to reduce the sodium content without losing the flavor.
- The single most common pupusa mistake is wet filling. Whether you use the stovetop, slow cooker, or pressure cooker method, the bean paste must be thick enough to hold its shape on a spoon without spreading. If it looks wet or loose, continue cooking uncovered on medium heat, stirring constantly, until it dries to a paste. A wet filling will burst through the masa and stick to the pan.
- Leftover pupusas reheat beautifully in a dry skillet over medium heat for 2 to 3 minutes per side, which refreshes the crust far better than a microwave. They also freeze well: cool completely, stack with parchment between each pupusa, seal in a freezer bag, and reheat from frozen in a 180C (350F) oven for 18 to 20 minutes.







This is such a thoughtful deep dive into pupusas! I’m really glad you highlighted the nixtamalization piece, Chris, because that’s exactly the kind of food preparation detail that gets overlooked but makes all the difference in what our bodies can actually use. I’ve been experimenting with iron absorption for years while managing my RA, and I’ve found that pairing iron-rich foods with vitamin C sources really shifts my inflammation markers, so I’m wondering if anyone’s tried these with a fresh tomato salsa on the side? The loroco itself is fascinating to me – I’m always hunting for new anti-inflammatory plant foods, and those earthy minerals combined with beans make this such a smart functional meal that doesn
Log in or register to replyokay yes the tomato salsa pairing is genius for iron absorption, irene! nixtamalization already does so much to free up that iron but adding fresh tomato with its vitamin c really seals the deal for your body to actually use it. ive been tracking my ferritin for years and ive noticed such a difference when i pair bean dishes with citrus or tomatoes versus eating them alone, plus the loroco sounds like it would add some nice antioxidants to help with inflammation which is huge. do you find your RA markers shift noticeably when you nail these iron and vitamin c combos or is it more of a slow cumulative thing for you?
Log in or register to replyLove this angle on pupusas. The bioavailability story here is gold too, especially since the corn masa is traditionally nixtamalized, which actually unlocks that iron and makes it way more absorbable than raw corn would be. Loroco’s mineral density gets overlooked but it’s legit, and pairing it with beans hits the iron synergy hard. I’ve been doing a similar play with heirloom corn and fermented black beans in my catering work, and the difference in how clients feel energy-wise is noticeable. Did you test this with a traditional stone griddle versus cast iron for the cook, or just standard pan work?
Log in or register to reply