Ciudad de México's smoky pasilla-and-tomato broth, finished at the table with crispy tortilla strips, cubes of queso panela, avocado, crema, and a crackling ring of fried pasilla on top.
Soups & Stews
Mexican
Weeknight
Comfort Food
25 min
Active Time
45 min cook•1 hr 10 min total
Yield6 servings
This is a Ciudad de México dish. The capital claims it, and although you will find tortilla soups across the central highlands of Mexico, the version with chile pasilla, fresh epazote, queso panela, and crema is chilanga through and through. The dish has a name some people use, sopa azteca, and a name others prefer, sopa de tortilla. They are the same soup. The argument about which name is right is a chilango pastime.
The chile here is pasilla, not ancho, not guajillo. Pasilla is what makes this soup what it is. Dark, almost black, thin-skinned, with a smoky-raisin sweetness that turns the broth the color of wet adobe. You will use the pasilla twice: toasted and soaked into the broth, then sliced into rings and flash-fried as a garnish. Two textures, same chile. That double use is the signature of the dish, and any version that leaves off the fried pasilla rings on top is missing its crown.
The broth is built on the holy trinity of the central highlands kitchen: tomato, onion, garlic, charred on a comal until the skins blister and blacken. Then it is blended with the soaked pasilla, strained, and fried in lard until the puree darkens and the fat separates. That frying step is not optional. It is the step that separates a thin tortilla soup from a serious sopa azteca. La manteca es el sabor.
Everything else happens at the table. The tortilla strips go in first, then queso panela, avocado, crema, the fried chile rings, a squeeze of lime. The diner builds their own bowl in the order they like. That ritual is part of the soup. My mother used to make this on cold nights in Colonia Roma when the rain came down sideways off the volcanoes and the city smelled of wet stone and woodsmoke. She would set the garnishes in small dishes around the table and tell us not to put the tortillas in until the broth was already in front of us. The tortilla must crunch. Soggy tortilla is not sopa azteca, it is a mistake. Saber cocinar es saber vivir.
Sopa azteca is a 20th-century dish despite its name, which gestures at a pre-Columbian heritage the soup does not actually possess; the Mexica did not eat sopas in the European sense, since the concept of a brothy course served from a bowl was a colonial introduction. What the soup does inherit from pre-Columbian cooking is its core trio of corn, chile, and tomato, three of the foundational crops of Mesoamerican agriculture, alongside epazote (Dysphania ambrosioides), a native herb whose use long predates the conquest. The modern sopa azteca took shape in Ciudad de México sometime in the mid-20th century as a creative reuse for stale tortillas, the kind of frugal household dish that became elegant once it left the home kitchen and entered the restaurants of Colonia Condesa and Roma.
The technique, the tradition, and the story behind every dish.
stemmed and seeded (4 for the broth, 4 for the garnish)
ripe Roma tomatoes
Quantity
1 1/2 pounds
white onion
Quantity
1/2 medium, plus 1/4 onion for the broth
garlic cloves
Quantity
3
unpeeled
manteca de cerdo (pork lard)
Quantity
2 tablespoons, plus more for frying
chicken broth
Quantity
6 cups
homemade if you have it
fresh epazote
Quantity
2 large sprigs
kosher salt
Quantity
1 teaspoon, plus more to taste
neutral oil (or more lard)
Quantity
for frying the tortilla strips
ripe Hass avocado (optional)
Quantity
1
sliced
queso panela or queso fresco (optional)
Quantity
6 ounces
cubed
Mexican crema (optional)
Quantity
1/2 cup
lime wedges (optional)
Quantity
for serving
Ingredient
Quantity
corn tortillasday-old, cut into thin strips
12
dried chile pasillastemmed and seeded (4 for the broth, 4 for the garnish)
8
ripe Roma tomatoes
1 1/2 pounds
white onion
1/2 medium, plus 1/4 onion for the broth
garlic clovesunpeeled
3
manteca de cerdo (pork lard)
2 tablespoons, plus more for frying
chicken brothhomemade if you have it
6 cups
fresh epazote
2 large sprigs
kosher salt
1 teaspoon, plus more to taste
neutral oil (or more lard)
for frying the tortilla strips
ripe Hass avocado (optional)sliced
1
queso panela or queso fresco (optional)cubed
6 ounces
Mexican crema (optional)
1/2 cup
lime wedges (optional)
for serving
Equipment Needed
•Cast iron comal or heavy skillet for charring and toasting
•Heavy 4-quart pot or clay cazuela
•High-powered blender
•Fine-mesh strainer
•Wide skillet for frying tortilla strips
•Slotted spoon or kitchen spider
Instructions
1
Dry the tortilla strips
Cut the tortillas into thin strips, about a quarter inch wide. Spread them on a sheet pan and let them sit out for at least 30 minutes while you work. Day-old tortillas fry crisp. Fresh tortillas absorb oil and turn limp. If your tortillas are too fresh, dry the strips in a low oven (200F) for 15 minutes before frying. The texture of this soup lives in the tortilla. Do not skip this.
Hand-pressed tortillas from a tortilleria, not the supermarket package, will give you the corn flavor this soup is built on. The tortilla is half the dish.
2
Toast the pasilla, two ways
Heat a dry comal or heavy skillet over medium. Take 4 of the pasillas and toast them gently, about 20 seconds per side. The chile pasilla is thin and dark. It burns faster than guajillo or ancho. Watch it. The skin will puff and the smell will fill the kitchen, smoky, raisin-dark, almost like dried fruit. Set these aside for the broth. Take the other 4, slice them into thin rings, and reserve them for frying as a garnish. Two uses, same chile, two textures on the plate.
3
Char the tomatoes, onion, and garlic
On the same comal, place the tomatoes whole, the half onion cut side down, and the unpeeled garlic cloves. Char them over medium-high heat, turning as they blacken in patches. The tomato skins should split and blister. The onion should darken at the edges. The garlic should soften inside its papery skin, about 10 minutes total. This is how the broth gets its smoky depth. Without the char, you have tomato soup. With it, you have sopa azteca.
4
Soak and blend the broth base
Place the 4 toasted pasillas in a heatproof bowl and cover with hot tap water. Hot water, not boiling. Boiling water cooks the skin and turns the broth bitter. Soak for 15 minutes until soft. Peel the charred garlic. Transfer the soaked pasillas, charred tomatoes (skins and all), charred onion, garlic, and 1 cup of chicken broth to a blender. Blend until completely smooth. Strain through a fine-mesh sieve, pressing on the solids. You want a clean, deep red-brown puree, the color of wet adobe.
5
Fry the puree
In a heavy 4-quart pot or cazuela, melt 2 tablespoons of lard over medium heat. When the lard shimmers, pour in the strained puree. It will sputter and spit, that is correct. Cook for 8 to 10 minutes, stirring often, until the puree darkens and the fat begins to separate around the edges. This step is the one most home cooks skip. Do not skip it. Frying the puree concentrates the flavor and is the difference between a thin broth and a serious one. La manteca es el sabor.
6
Build the broth
Pour in the remaining 5 cups of chicken broth. Add the quarter onion and the epazote sprigs. Bring to a gentle simmer and cook uncovered for 20 minutes so the flavors marry. Taste for salt. The broth should taste assertive, smoky from the chile, sweet from the tomato, with the unmistakable green-resinous note of epazote running through it. If you cannot find epazote, the soup is not the same. Do not substitute cilantro. Cilantro is not epazote.
Epazote grows like a weed in much of the Americas. If you cannot find it at a mercado, ask a Mexican neighbor with a garden. Most have a corner where it self-seeds every spring.
7
Fry the tortilla strips
While the broth simmers, heat about half an inch of neutral oil or lard in a wide skillet over medium-high. When the oil shimmers, fry the tortilla strips in batches. Do not crowd the pan. Stir with a slotted spoon. They will turn golden in about a minute. Lift them out the second they are crisp and pale gold. They keep cooking on the rack. Drain on paper towels and salt them lightly while still hot.
8
Fry the pasilla rings
Lower the heat under the same oil to medium. Drop in the reserved pasilla rings and fry for no more than 5 seconds. Five. They turn from dark brown to almost black in a blink and they go bitter just as fast. Lift them out the moment they crisp and drain on paper towels. These are the crown of the dish, the bittersweet, crackling ring on top of the broth that tells the eater they are eating something serious.
9
Serve at the table
Fish out the epazote and onion from the broth. Ladle the hot broth into wide clay bowls. At each place setting, the diner builds their own: a handful of tortilla strips dropped into the bowl, cubes of queso panela, slices of avocado, a spoonful of crema, and a scatter of fried pasilla rings on top. A squeeze of lime if they want it. Eat it the moment it is built, while the tortillas still have crunch. Así se hace y punto.
Chef Tips
•Day-old tortillas are not a flaw, they are the recipe. If you have a stack of corn tortillas going stale on the counter, this is the dish for them. A fresh tortilla absorbs oil and turns soggy. A day-old tortilla fries up like a chip. Plan ahead.
•Pasilla is the chile. Not ancho, not guajillo, not chipotle. Ancho is sweeter and gives a different color. Guajillo is brighter and sharper. Chipotle would overwhelm the broth with smoke. If your store sells dried chiles labeled 'pasilla' but they look wide and reddish-brown, those are anchos mislabeled, a common mistake in the United States. True pasilla is long, thin, wrinkled, and very dark, almost black. Find the right one or order them online. No me vengas con atajos.
•Epazote is non-negotiable. It carries a green, resinous, almost gasoline-bright note that nothing else replicates. Cilantro is not the same. Mexican oregano is not the same. If you cannot find epazote fresh, dried will work in a pinch, but use half as much and add it earlier so it has time to rehydrate.
•Queso panela is the right cheese here. It is mild, firm enough to cube, and softens in the hot broth without melting into strings. Queso fresco works as a backup. Do not, under any circumstances, use mozzarella or Monterey Jack. This is a Mexican soup, not a cheese soup.
Advance Preparation
•The broth can be made up to two days ahead and refrigerated. The flavor deepens overnight as the pasilla and epazote settle in. Reheat gently before serving.
•The tortilla strips can be fried up to four hours ahead and held at room temperature, uncovered, on a paper-towel-lined sheet pan. Do not refrigerate them or they will lose their crisp.
•The pasilla rings should be fried at the last minute. They lose their crackle within an hour and turn limp by the next day. Five seconds in hot oil, no more.
Frequently Asked Questions
Nutrition Information
1 serving (about 530g)
Calories
490 calories
Total Fat
32 g
Saturated Fat
11 g
Trans Fat
0 g
Unsaturated Fat
21 g
Cholesterol
40 mg
Sodium
1080 mg
Total Carbohydrates
38 g
Dietary Fiber
9 g
Sugars
5 g
Protein
13 g
Where cooking meets culture.
Culinary guides, cultural storytelling, and the editorial depth that makes cooking meaningful.