Pupusas are stuffed tortillas made with corn masa, cheese and beans served with curtido. They’re easy to customize with any filling you wish.
I love pupusas and love to keep a stash in my freezer to whip up for lunch anytime. If you like homemade tortillas, you’ll love these cheesy, stuffed corn pupusas. The filled dough is flattened into a circle, then cooked on a griddle. The result is a warm, satisfying dish that is a staple of Salvadoran cuisine. The cold, tangy, spicy curtido is made with shredded cabbage, carrots, pickled jalapeño, and vinegar, which contrasts beautifully with the rich, warm flavors of the black bean pupusas. They’re naturally gluten-free and can be made with dairy-free cheese to keep them vegan.
What is a pupusa?
A pupusa is a traditional dish originating from El Salvador and Central America. It’s a thick, handmade tortilla consisting of cornmeal dough (“masa de maíz”) filled with various ingredients. Common fillings include:
- Cheese (“queso”)
- Refried beans (“frijoles refritos”)
- Vegetables like loroco (an edible flower bud native to Central America) and ayote (a type of squash)
In my Skinnytaste Meal Prep cookbook, I have a zucchini and cheese pupusa, but these black bean pupusas are also delicious.
- Pupusa Dough: Corn flour (masa harina, such as the brand Maseca), salt, warm water, vegetable or canola oil
- Black Bean Pupusa Filling: Minced poblano peppers, onion, and garlic, black beans, salt, shredded part-skim mozzarella. Note: Don’t drain the black beans – you want the liquid.
- Curtido Ingredients: Shredded green cabbage, shredded carrots, jarred pickled jalapeño and the brine, white vinegar, olive oil, dried oregano, salt
- Avocado for topping the pupusas
How to Make Curtido
- Ferment the Cabbage: Rinse the cabbage in a mesh strainer and slowly pour boiling water over the cabbage. Rinse it with cold water, drain well, and dry.
- Add the Other Ingredients: Put the cabbages in a large bowl with the carrots, jalapeños, two tablespoons of jalapeño brine, vinegar, oregano, and salt. Toss well and refrigerate until ready to eat.
How to Make Pupusas
- Make the Pupusa Dough: Whisk the flour and salt in a large bowl. Add the water and oil and mix with a spatula until the dough forms. Cover with a damp towel while you make the filling.
- Cook the Black Bean Filling: Heat a medium skillet over medium heat, and pour in the oil once hot. Add the poblano, onion, cilantro, and garlic, and cook until soft. Add the beans and salt, and cook for a few minutes until the liquid evaporates and the beans thicken. Transfer to a medium bowl, let cool for five minutes, and then add the cheese.
- Form the Pupusas: Knead the dough in a bowl with a spatula for 20 seconds. Turn the dough on a lightly floured surface and form into a slightly flattened dough ball. If the dough seems dry and cracks, add a little more water, one tablespoon at a time. Cut the dough into eight equal pieces and cover with a damp towel.
- Flatten the Pupusas: Fill a small bowl with ¾ cup of water and ½ teaspoon of oil – wetting your hands will help prevent the dough from sticking to them. With slightly damp hands, roll each piece into a ball and flatten it into a ¼-inch disk, using your fingers pressed onto your palm.
- Fill the Pupusas: Scoop three tablespoons of the black beans into the middle of the disc. Bring all the edges to the center to cover the filling completely. Dampen your hands again and flatten them to form a 5 to 5 ½- inch disc. Be careful not to squish out the filling. Repeat the process with the remaining dough and filling.
- Cook the Pupusas: Heat a large skillet over medium-low heat and spray with oil. Cook for seven to 10 minutes, turning halfway. They’re ready when they are browned and crisp on the outside.
- Serve: Top each black bean pupusa with avocado and curtido.
- Filling: You can make pupusas with any filling. Swap the black beans for refried beans, leftover slow cooker shredded chicken, barbacoa, carnitas, chorizo, zucchini, or all cheese.
- Poblanos: Substitute bell pepper or jalapeño for poblano.
- Don’t like cilantro? Omit it.
- Black Beans: Use pinto, refried, or pink beans.
- Cheese: Swap mozzarella for cheddar, Monterrey jack, or dairy-free cheese for vegan pupusas.
- Vinegar: Sub apple cider vinegar.
- Time Saver: Buy a bag of coleslaw mix if you don’t have time to shred the cabbage and carrots.
What are pupusas served with?
Pupusas are traditionally served with curtido, lightly fermented cabbage slaw with chili peppers and carrots, and a mild, tomato-based salsa. I also like to top mine with avocado.
How to Freeze Pupusas
Refrigerate leftover pupusas for up to four days and reheat them in a skillet until warm. You can also freeze cooked pupusas for up to three months. If you want to freeze them uncooked, here’s what you do:
- Stack the uncooked pupusas with a piece of parchment between them and place them in an airtight container or bag. Freeze them for up to six months.
- To cook the frozen pupusas, cook them on medium-low in a skillet for about seven minutes. When the bottoms are browned, flip them over and cook for five more minutes.
More Latin Recipes You’ll Love
- 2 cups corn flour, (masa harina) such as Maseca, plus more for dusting
- 1 teaspoon kosher salt
- 2 cups warm water
- 1 teaspoon vegetable or canola oil, plus more for your hands
- olive oil spray spray
For black bean filling:
- Rinse cabbage in a mesh strainer then slowly pour boiling water over the cabbage. Rinse with cold water. Drain well, and dry.
- Add cabbage to a large bowl with the carrots, jalapeno, 2 tablespoons jalapeno brine, vinegar, oregano, and salt and toss well to combine.
- Set aside in the fridge until ready to eat.
- For the dough: In a large bowl, combine flour and salt. Whisk to combine. Add the water and oil and mix with a spatula until combined and dough forms. Cover with a damp towel while you make the filling.
- For the bean filling: Heat a medium skillet over medium heat. Add the oil, when hot add the poblano pepper, onion, cilantro and garlic and cook until soft, 2 to 3 minutes.
- Add the beans and season with salt, cook over medium heat stirring until all the liquid has evaporated and beans have thickened, 2 to 3 minutes.
- Transfer to a medium bowl and let it cool 5 minutes. Once cool add the mozzarella cheese.
- To make pupusas: Knead dough in the bowl for 20 seconds with the spatula. Turn the dough out onto a lightly floured surface, form into a slightly flattened dough ball. If dough seems dry and cracks, add a little more water, 1 tablespoon at a time.
- Cut dough into 8 equal pieces. Covering with a damp towel.
- Place a small bowl with 3/4 cups water and 1/2 teaspoon oil, this will help you work the dough and prevent it from sticking. With slightly damp hands, working one at a time roll each piece into a ball then flatten into a 1/4 inch disk using your fingers pressed onto your palm of your hand.
- Scoop 3 level tablespoons of the filling into the middle of the disc. Bring all the edges to the center to cover the filling completely. Dampen your hands once again and start flattening to form a 5 to 5-1/2 inch disc, careful not to squish out the filling.
- Repeat with remaining dough and filling. Discard the water with oil.
- When ready to cook, heat a large skillet over medium-low heat and spray with oil. Cook 7 to 10 minutes turning halfway, or until browned and crisp on the outside. To keep cooked pupusas warm, place them on a sheet pan in a 200 degree F oven while you make the rest.
- Serve the pupusas with sliced avocado and curtido on top.
Last Step:Please leave a rating and comment letting us know how you liked this recipe! This helps our business to thrive and continue providing free, high-quality recipes for you.
- Refrigerate cooked pupusas up to 4 days. Reheat on the skillet to warm.
- Cook from Frozen: Form the pupusas and freeze, uncooked stacked with parchment in between each one. Transfer to a freezer safe bag or air-tight container and freeze up to 6 months. To cook from frozen, heat a skillet over medium-low heat and cook until the bottom is browned, about 7 minutes then flip with a spatula cooking 5 more minutes, or until browned and crisp.