Skip to Content

Homemade Salvadoran Pupusas

These homemade pupusas are a classic Salvadoran recipe, stuffed with black beans and vegan cheese and topped with curtido and salsa roja. They’re vegan, gluten free, and make a great snack or entree!

pupusas cut open and fanned on a plate to show the inside filling and texture. Topped with some curtido and salsa roja to serve.

Pupusas are one of my favorite foods. And it’s not just because of my proclivity for dishes with exciting names, but they are just really really good. Imagine a fluffy, almost creamy masa cake stuffed with a delicious filling and topped with a crisp fermented cabbage and a mild tomato salsa.

Because they are made with masa harina, they are accidentally gluten free. And filling possibilities include anything from cheese, vegetables, beans, or meat (or some combination of those, though usually involving cheese).

Enjoy them piled high with tangy curtido (a cabbage relish) and mild salsa roja (red sauce). Homemade pupusas are an tasty appetizer, and 2-3 of them make a surprisingly filling meal.

Pupusas are from El Salvador, and if you’ve never had them you are in for a really big treat! They’re quite easy and quick to make, especially if you keep the filling simple.

Before you know it you’ll be whipping up homemade pupusas in no time!

homemade pupusas on a plate, garnished with cilantro and served with a side of curtido and salsa roja

How to make the pupusa dough:

There are only 4 ingredients to make the pupusa dough. If you’ve made tortillas before, you’ll find that it’s very similar, it’s more the technique and thickness that sets pupusas apart.

Most importantly you need masa harina, which is a corn meal prepared in a unique way. First the corn kernels are treated with with a strong base to make hominy. This is then dried and ground to make a fine flour.

Masa harina (sometimes just called masa) behaves very differently from cornmeal and this is not an ingredient you can substitute. Also note that masarepa (sometimes called harina de maiz refinada precocida, or refined, precooked cornflour) is not the same thing as masa harina.

holding five halves of pupusa cut side up to get a close up of the filling and texture of the pupusas. Topped with some curtido and salsa roja

We add a bit of salt to the masa harina before adding warm water and a drizzle of oil. I like to use warm water because it helps hydrate the masa effectively and quickly, but I haven’t found the dough to be overly fussy with the temperature. The oil helps make a tender dough.

Mix everything together, then work it with your hands for a minute to make sure everything comes together and forms a smooth dough.

Masa makes a completely different dough than a wheat dough. There is no gluten to hold it together, it can easily be smushed, torn apart, and shaped to your liking. So there is no need to knead the dough to develop it, we just want to get our hands in there to make sure everything is well incorporated.

Once the dough is made, let it rest for 15 minutes covered to fully hydrate. The main thing that can happen to the dough at this point is that it dries out. So put a lid on it, cover it with a plastic wrap, or a damp kitchen towel to keep the moisture in.

You can get all the other ingredients out while it rests.

homemade pupusas with salsa roja and cabbage slaw

The pupusa filling:

For these pupusas I kept it simple and used plain black beans (but you can season them if you’d like), some vegan cheese, and sliced peppers. For the peppers you can use mini-sweet peppers or a hot pepper like jalapeño.

Some other ideas for fillings include leftover taco filling, store bought vegan chorizo, refried beans, mashed sweet potato, really anything that you can chop small or mash so that it’s easy to shape the pupusas. A popular simple filling is just [vegan] cheese and jalapeño. You can make it mild and leave out the jalapeño!

For these pupusas I mixed together shredded vegan mozzarella and vegan cheddar. My vegan queso fresco would make a really nice filling as well!

If you want to make them with the same filling as me, drain and rinse the beans (if there is no salt added you can skip the rinse if you’d like), shred the cheese if it’s not pre-shredded, and thinly slice the peppers.

3 shaped and ready to cook pupusas with the unshaped balls of dough in the corner as well as bowls of the black beans, pepper, and cheese filling

Next, divide up the dough and shape the pupusas.

Divide the dough into 6 pieces and shape them into balls. I find this makes a good size pupusa that I can still easily shape in my small hands.

Shape one pupusa at a time and leave the rest covered to stay moist while you’re shaping. If the dough is dry it will crack more easily. To fix,  you can knead in a bit more water or wet your hands and work that into each ball of dough.

Press the ball of masa between your two palms to flatten, try to make the edges a bit thinner than the center as they’ll overlap slightly when you fold them over. Once it’s a thick disk, add your fillings to the center.

Add about a tablespoon of black beans to the center of the dough (or whatever filling you are choosing to use).

A collage of 2 photos showing the first two steps of shaping pupusas. Photo 1 shows step 1 of shaping the masa to make a flat disk, then photo 2 shows step 2 adding about 1 tbsp of black beans to the center.

Next, add a bit of vegan cheese and some sliced peppers to cover. Then fold in the edges of the dough to meet in the center and cover the filling to make a round package.

A collage of 2 photos showing the third and fourth steps of shaping pupusas. Photo 1 shows step 3, adding a bit of shredded vegan cheese and some sliced peppers on top of the beans, then photo 2 shows step 4 where the edges of the masa are folded over and sealed in the center to cover the filling.

Lastly press the stuffed masa between your hands to flatten into a thick patty. If it starts to crack just smear the masa to cover. A little cracking is ok to leave!

Note that if the dough is very crumbly and cracks a lot, it may be too dry. Some cracking is normal because masa harina doesn’t have any gluten to help hold the structure together!

Once you have flattened it as much as you can and closed up any large cracks, your masa is shaped! Stick it on a parchment lined tray or plate and shape the rest of them!

A collage of 2 photos showing the fifth and six steps of shaping pupusas. Photo 1 shows step 5, pressing the filled masa between two hands to flatten into a thick disk then photo 2 shows step 6 with the fully flattened and shaped pupusa.

You can watch the video of me shaping a pupusa for more help with that process!

Once all the pupusas are shaped, it’s time to cook them.

Cooking is simple. Heat up a fry pan, skillet, or griddle over medium heat. Add some oil to coat the pan, and fry them for a few minutes on each side until they’re golden with some dark spots.

Enjoy them with homemade curtido and salsa roja. Curtido needs to be made in advance, but is simple to make. If you need a faster solution, you can make a vinegar cabbage slaw (you can follow the recipe in my other pupusa recipe post).

The salsa roja is easy to make, and can also be made in advance and kept in the fridge until you’re ready to use it.

The curtido and salsa roja make enough for about 2-3 batches of these pupusas, so feel free to make more as you’d like! You really won’t regret it!

three pupusas on a plate topped with curtido and salsa roja

If you make these homemade Salvadoran pupusas, leave a comment below and rate the recipe on the recipe card. And please share your photos with me on Instagram, tag @thecuriouschickpea and #thecuriouschickpea. I love seeing your recreations!


I’d be remiss not to mention there’s a whole story behind my first time eating pupusas, and I’ve shared it before here. I hope these pupusas find as special of a place in your heart! Enjoy!

pupusas cut open and fanned on a plate to show the inside filling and texture. Topped with some curtido and salsa roja to serve.

Homemade Salvadoran Pupusas

Yield: 6 pupusas
Prep Time: 20 minutes
Cook Time: 15 minutes
Total Time: 35 minutes

These homemade pupusas are a classic Salvadoran recipe, stuffed with black beans and vegan cheese and topped with curtido and salsa roja. They're vegan, gluten free, and make a great snack or entree!



  • 2 cups (240g) masa harina
  • 3/4 tsp (3g) salt
  • 1 1/2 cups (340g) warm water
  • 2 tbsp (24g) oil


  • Black beans, drained and rinsed (~1/2 cup)
  • Shredded vegan cheese (~1/4 cup)
  • Jalapeños or sweet peppers, thinly sliced (1-2 peppers)
  • Oil to cook

To serve


  1. Make the masa dough: in a large mixing bowl mix together the masa harina, salt, warm water, and oil with a wooden spoon. Knead it by hand for about 1 minute to make a smooth ball of dough. It should be soft but not very sticky. Cover and let rest for at least 15 minutes to fully hydrate.
  2. Divide the dough into 6 pieces and keep covered. Take one piece of a dough at a time and flatten into a thick pancake between your hands, add about 1 tablespoon of black beans or filling to the center of the disk and then add a little vegan cheese and peppers. Fold the edges of the dough over to cover and meet in the center. Flatten it between your hands to make a thick stuffed pancake. See post for photos and video showing detail.
  3. Place shaped pupusas on a tray (line with parchment paper to help prevent any sticking), and once they're all shaped, heat a skillet or griddle over medium heat.
  4. Add some oil to the pan or griddle to lightly coat, then fry about 2-4 minutes on each side, until golden with some dark spots. Work in batches as needed until all are cooked.
  5. Eat hot and topped with curtido or a cabbage slaw and salsa roja.


Adapted from my jalapeño cheese and bean pupusas.

Feel free to vary the fillings to your liking! Dry fillings are easier to work with when shaping the pupusas.

Recommended Products

As an Amazon Associate and member of other affiliate programs, I earn from qualifying purchases.

Nutrition Information:
Yield: 6 Serving Size: 1
Amount Per Serving: Calories: 211Total Fat: 7gSodium: 327mgCarbohydrates: 34gFiber: 4gSugar: 2gProtein: 5g

Did you make this recipe?

Please leave a comment on the blog or share a photo on Instagram

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Saturday 16th of October 2021

I could not get them to flatten enough, any tricks? Maybe add more water? The cortido is AMAZING!

Eva Agha

Monday 18th of October 2021

Hi Hannah, how not-flat are we talking? they are usually about as thick as a fluffy pancake. Was the dough very difficult to work with? If you can give me a bit more detail about what went wrong I can hopefully give some pointers! If it helps, see the video included in the post to see how I shape and the texture of the dough.


Saturday 23rd of January 2021

It was delicious. I used violife shredded cheese and used bell pepper.


Friday 3rd of January 2020

These were AMAZING!!! I frozen half and heated them up on a cast iron five months later and they were still SO good

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Skip to Recipe