The first real Mexican Tortilla Soup I ever ate came out of a six-table fonda in Puebla called La Casa de Doña Mary, two blocks off Avenida Reforma. I had walked in because the door was open and a woman inside was tearing dried chiles by hand. No English menu. I pointed at what the guy at the counter was eating and she nodded like she had been waiting for me.

What landed in front of me was nothing like the thick chicken-and-bean soup I had grown up calling tortilla soup back home. This was thinner. Brick red. A clear, almost shiny broth poured over a tangle of crackling tortilla strips, with cubes of pale cheese floating on top and a little island of avocado sliding down the side. The cheese was queso panela. I asked.
The Counter Seat in Puebla
Doña Mary spoke fast and I spoke slow but we figured it out. She came from Tlaxcala originally, the small state next door whose Nahuatl name, she told me, basically means the place where tortilla is abundant. The dish, she said, was a Tlaxcala dish before it was a Mexico City dish.
She told me three things I have never forgotten. The chile is pasilla, not poblano, not ancho, no matter what the gringo recipes say. There is no cumin in a real one. And the tortillas do not go IN the pot. They wait in the bowl. The broth comes to them.
I watched her toast the pasillas on a black comal for maybe ten seconds a side. Not longer. She said if they blacken, the whole pot turns bitter and you start over. I have ruined a batch this way since. She was right.
Carrying It Home to My Kitchen
Back in my apartment I tried it the next weekend, a Sunday morning before the street outside woke up. The first attempt was a mess. I left the pasillas on the heat too long because I was scrolling my phone, and the broth came out with that scorched, ashy note Doña Mary had warned me about. Tossed the whole pot.
Second try went better. I sourced the pasillas at the Mexican grocery on Vermont, the one with the loose dried chiles in open bins where you can sniff before you buy. Roma tomatoes from the Wednesday Santa Monica farmers’ market because the supermarket ones were watery and pale. Epazote, the trickiest piece, came from a tiny nursery in Boyle Heights that sells the plant in a four inch pot. I now have one on the windowsill. It smells like gasoline and mint at once. You either love it or you do not.
I use my old cast iron, the one with the wonky handle that gets too hot on the bolt, for the charring. That pan turns the tomatoes almost black on one side in about eight minutes and that black is the whole point. Sweetness comes out of the char.
The Puzzle of the Pasilla Broth
Here is where most home cooks lose this soup. It looks simple. It is not. Every step has a way to fail.
The chiles. Toast too long, bitter. Toast too short, no smoke. Aim for the moment they puff and the kitchen suddenly smells like raisins and tobacco. Pull them then.
The frying of the puree. This is the step recipes skip and that is why their soup tastes flat. You strain the blended tomato and chile, you get the lard ripping hot in the pot, and you pour the puree in. It will spit at you. Stand back. Stir it down for six or seven minutes until it darkens from orange red to a deep brick and coats your spoon. That sizzle and darken is the soul of sopa Azteca. Skip it and you have salsa thinned with broth.
The tortillas. Stale. Truly stale. Fresh ones drink oil like a sponge and slump. I leave a stack of corn tortillas out on the wooden table overnight, uncovered, and fry them the next day. Pale gold, not brown. Salt them the second they come out.
What I Used
- 12 day-old corn tortillas, cut into thin strips
- About a pound and a half of ripe roma tomatoes
- 1 white onion, halved, with a thick slice held back for the pot
- 3 cloves of garlic, skins still on for charring
- 4 dried pasilla chiles, stems and seeds out
- 6 cups of hot chicken broth, homemade if you have it
- 2 sprigs of fresh epazote, no substitutes
- 1.5 teaspoons of salt, more to taste
- 1.5 cups of neutral oil or lard for frying the strips
- 2 tablespoons of oil or lard for frying the puree
What Mexican Tortilla Soup Is Not
I have to say this because every American version of tortilla soup I had before Puebla was, in hindsight, a different dish. No black beans. No corn kernels. No bell peppers. No sour cream piped in a swirl. No yellow shredded cheese melting into orange grease. None of that is part of the central Mexican original. Those are Tex-Mex add-ons, and they are fine on their own terms, but they are not Sopa Azteca.
Traditional sopa de tortilla does not even have chicken meat in it. Only the broth. Shredded chicken is a modern addition you see in restaurants, and I sometimes do it on a cold night, but Doña Mary served hers without and I think she was right. The point is the broth and the crunch, not the protein.
One more myth. The bowl is finished at the table, not at the stove. Crispy strips in first, then the broth, then avocado, queso panela, a drizzle of crema, maybe crumbled chicharron if you can find it, a squeeze of lime. Each person crowns their own.
The Way I Serve It Now
Friday nights, mostly. I get home, the kitchen window is open because June in my neighborhood smells like jasmine after sundown, and a pot of this comes together in about an hour if I have the chiles already in the cupboard.
I almost always make extra broth. It keeps three days in the fridge and somehow tastes deeper on day two. Fresh strips though. Always fresh strips. Leftover crunchy strips on day two are sad strips.
Cold leftovers, eaten standing up at the counter, no garnish. Better than it has any right to be.
If you make this once and you toast your pasillas a beat too long, do not give up. Throw it out, start again, and pull them sooner. Doña Mary would tell you the same. She would also tell you to sit down while you eat it.

Mexican Tortilla Soup
Ingredients
Equipment
Method
- Heat a dry cast iron skillet or comal over medium-high heat. Lay the tomatoes, halved onion, and unpeeled garlic cloves on the hot surface. Char them, turning occasionally, until the skins are blistered and blackened in spots and the flesh has softened, about 8 to 10 minutes. Set aside to cool slightly, then peel the garlic.
- Tear the stemmed, seeded pasilla chiles into large pieces. Toast them on the same hot skillet for 10 to 15 seconds per side, pressing down lightly, just until they puff and smell fragrant. Do not let them turn black or they will go bitter. Transfer to a bowl, cover with hot water, and soak for 10 minutes until soft and pliable.
- Drain the chiles and add them to a blender along with the charred tomatoes, onion, peeled garlic, and 1 cup of the hot chicken broth. Blend on high until completely smooth, about 1 minute.
- Pass the puree through a fine mesh strainer into a bowl, pressing on the solids with a spoon to extract as much liquid as possible. Discard the skins and seeds left in the strainer.
- Heat 2 tablespoons oil or lard in a large heavy pot over medium-high heat until shimmering. Carefully pour in the strained puree; it should sizzle and spit. Cook, stirring often, until the puree darkens to a deep brick red and thickens enough to coat the spoon, about 6 to 8 minutes.
- Pour in the remaining 5 cups hot chicken broth and stir to combine. Add the reserved thick slice of white onion, the epazote sprigs, and the salt. Bring to a gentle simmer and cook uncovered for 15 to 20 minutes so the flavors marry. Taste and adjust salt. Fish out the onion slice and epazote stems before serving.
- While the broth simmers, heat 1.5 cups oil or lard in a deep skillet to 350 F. Working in batches, fry the tortilla strips, stirring gently, until crisp and pale golden, about 1 to 2 minutes per batch. Lift out with a slotted spoon and drain on paper towels. Sprinkle lightly with salt.
- To serve, pile a generous handful of fried tortilla strips into the bottom of each warm bowl. Ladle the hot pasilla-tomato broth over the top so the strips begin to soften at the edges but stay crunchy in the middle. Bring the soup to the table immediately and let each guest crown their own bowl with the traditional garnishes.

