This post may contain affiliate links. Read my disclosure policy.
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.
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.







Prep: 20 minutes
Cook: 20 minutes
Total: 40 minutes
Yield: 8 servings
Serving Size: 1 pupusa
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.
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.
Serving: 1 pupusa, Calories: 220 kcal, Carbohydrates: 32 g, Protein: 8 g, Fat: 8 g, Saturated Fat: 2 g, Cholesterol: 5.5 mg, Sodium: 489 mg, Fiber: 6.5 g, Sugar: 2 g