Sopa de Tortilla (Tortilla Soup)

Deep brick-red tomato-chipotle tortilla soup with a rich aromatic broth, tender shredded chicken, and crisp golden tortilla strips piled high on top, finished with diced avocado, white sour cream swirl, crumbled cotija, dried chile strips, and lime. Frying the blended tomato-chipotle base before any stock is added is the technique hinge here — the same fried-base principle used elsewhere in this collection wherever a blended chile sauce needs to move from raw and dusty to roasted and rounded, and skipping it is the difference between a soup that tastes genuinely built and one that tastes like blended salsa dropped into stock. The crispy tortilla strips are treated as a separate, last-minute component rather than an afterthought, fried hot and fast so they’re crisp enough to stand upright above the broth rather than going soft and sinking. The dried chile strips take only seconds in hot oil, a window narrow enough that the recipe calls for discarding and starting over if they scorch. The payoff is a bowl with real visual architecture — glossy red broth below, crisp golden strips standing above it, with bright avocado and white cream swirled across the surface.

Bowl of sopa de tortilla showing deep brick-red broth with shredded chicken, topped with crisp golden tortilla strips standing upright, diced avocado, white sour cream swirl, crumbled cotija, and dried chile strips on marble surface

Prep Time : 25 min

Cook Time : 45 min

Servings : 4

Prep Time :

25 min

Cook Time :

45 min

Servings :

4

Ingredients

For the Tomato-Chipotle Broth


• 800g Roma tomatoes, halved


• 1 medium white onion, cut into wedges


• 5 garlic cloves, peeled


• 30ml neutral oil


• 2 chipotle peppers in adobo — this one on Amazon


• 20g adobo sauce


• 20g tomato paste


• 1 dried guajillo chile, stem and seeds removed — this one on Amazon


• 1 dried pasilla or ancho chile, stem and seeds removed — this one on Amazon


• 1.2 litres chicken stock


• 4g ground cumin — this one on Amazon


• 3g dried Mexican oregano — this one on Amazon


• 2g smoked paprika — this one on Amazon


• 8g kosher salt, plus more to taste


• 2g freshly cracked black pepper


• 15ml fresh lime juice

For the Shredded Chicken


• 450g boneless, skinless chicken thighs or chicken breast


• 3g kosher salt


• 1 bay leaf


• Enough broth from above to simmer the chicken

For the Crispy Tortilla Strips


• 8 corn tortillas, about 15cm / 6 inches diameter


• 300–500ml neutral oil, for frying


• 3g kosher salt

For the Dried Chile Strips


• 2 dried guajillo or pasilla chiles, stems and seeds removed


• 15ml hot frying oil, from the tortilla strips


• Pinch of salt

For Garnishing and Serving


• 2 ripe avocados, diced


• 120g sour cream or Mexican crema


• 80g cotija cheese, crumbled — this one on Amazon


• 20g fresh cilantro leaves


• 2 limes, cut into wedges


• Crispy tortilla strips, from above


• Dried chile strips, from above

This post may contain affiliate links. As an Amazon Associate I earn from qualifying purchases, at no additional cost to you.


Directions

  1. Roast the Tomato Base
    Place the Roma tomatoes, onion wedges, and garlic on a tray. Drizzle with neutral oil and roast under a hot broiler for 8–12 minutes, turning once, until the tomatoes soften, collapse slightly, and develop charred spots. The tomatoes should look roasted and juicy, not dry. Do not burn the garlic; bitter garlic will flatten the broth. Broiling rather than simmering the tomatoes and aromatics concentrates their sugars and adds a light char that a purely blended-and-simmered base wouldn’t have — this early step is quick but sets the tone for the broth’s overall depth.
  2. Toast and Soften the Chiles
    Toast the guajillo and pasilla or ancho chile in a dry skillet over medium heat for 10–15 seconds per side, just until fragrant and flexible. Do not let them blacken or smoke. Cover the toasted chiles with hot water and soak for 10–15 minutes until softened. Drain before blending. The brief dry toast blooms each chile’s specific aromatic character before rehydration — guajillo’s fruity tang and pasilla or ancho’s darker, raisin-like sweetness both come through more clearly toasted than simply soaked from raw.
  3. Blend the Broth Base
    Blend the roasted tomatoes, onion, garlic, softened chiles, chipotle peppers, adobo sauce, tomato paste, cumin, Mexican oregano, smoked paprika, salt, black pepper, and 300ml chicken stock until completely smooth. Strain through a fine sieve if the mixture has visible chile skin or tomato skin. The base should be vivid red-orange, smooth, and thick. A high-powered blend here matters for the finished soup’s texture — any unblended skin fragments left in will remain as a slightly gritty presence in an otherwise smooth, glossy broth.
  4. Fry the Broth Base
    Heat a large pot over medium heat. Add a thin film of neutral oil if the pot is dry. Pour in the blended tomato-chipotle base and cook for 5–7 minutes, stirring often, until it darkens slightly, thickens, and smells roasted instead of raw. This step matters. If you skip it, the soup tastes like blended salsa dumped into stock. Frying the paste briefly before any stock is added lets its flavour compounds bloom directly in fat rather than diluting immediately into liquid — this is the exact same principle that separates a rounded, roasted-tasting sauce from a flat, dusty one.
  5. Simmer the Broth and Chicken
    Add the remaining chicken stock and bring to a simmer. Add the chicken and bay leaf. Reduce the heat to medium-low and simmer gently for 18–22 minutes, until the chicken reaches 74°C internally and shreds easily. Remove the chicken and rest for 5 minutes. Discard the bay leaf. Shred the chicken into medium strands. Return the shredded chicken to the soup and simmer for another 5 minutes. Finish with lime juice and adjust salt. The broth should be deep brick-red, glossy, and spoonable — not thick like enchilada sauce and not watery. A gentle simmer rather than a hard boil keeps the chicken tender and the broth clear rather than clouded, and the 5-minute rest before shredding firms the meat’s fibres just enough to pull into clean strands.
  6. Make the Crispy Tortilla Strips
    Stack the corn tortillas and cut them into thin strips, about 1cm wide. Heat neutral oil in a saucepan to 175–180°C. Fry the tortilla strips in batches for 60–90 seconds, stirring gently, until golden, crisp, and bubbling slows. Transfer to a rack or paper towel-lined tray and season immediately with salt. Do not crowd the oil. Pale soft strips are useless here. They need to be crisp enough to stand upright above the broth. Salting immediately while the strips are still hot and glistening with oil is what allows the seasoning to actually adhere — strips left to cool first won’t hold salt nearly as well.
  7. Make the Dried Chile Strips
    Cut the dried guajillo or pasilla chiles into thin strips. Briefly fry them in 15ml hot tortilla-frying oil for 5–10 seconds, just until glossy and slightly darker. Remove immediately and season with a pinch of salt. They burn fast. If they turn almost black, throw them out and start again. Using the same oil already hot from frying the tortilla strips saves a step and means the chile strips fry in oil that’s already carrying a light corn flavour, but the window here is genuinely narrow — these thin dried chiles go from glossy to scorched in a matter of seconds.
  8. Prepare the Garnishes
    Dice the avocado shortly before serving so it stays bright green. Loosen the sour cream with a few drops of water or lime juice if needed so it can swirl into the soup. Crumble the cotija and pick the cilantro leaves. Timing the avocado dicing to as close to serving as possible limits its exposure to air and the oxidation that dulls its colour, keeping the diced cubes visually vivid against the red broth.
  9. Serve
    Ladle the hot tomato-chipotle broth and shredded chicken into four bowls. Add diced avocado across the surface. Swirl sour cream through the broth in thick white streaks. Scatter cotija and dried chile strips. Pile crispy tortilla strips generously in the centre of each bowl, leaving some standing upright above the broth. Finish with cilantro leaves and lime wedges on the side. Serve immediately before the tortilla strips soften. Leaving some strips standing genuinely upright, rather than fully submerging all of them, is the plating detail that preserves the soup’s defining visual signature — strips buried completely in hot broth begin softening within minutes.

*Notes

  • Frying the blended tomato-chipotle base before it ever meets the stock is the single most consequential step in this recipe, and it’s also the easiest one to underestimate or skip when short on time. A freshly blended purée, however good its individual ingredients, still tastes raw and slightly dusty on its own — cooking it in a little oil for 5–7 minutes concentrates and rounds out that flavour, moving it from something that tastes like blended salsa toward something that reads as a properly built soup base. Skipping this step and going straight to adding stock is the most common way this soup ends up tasting thin and one-dimensional.
  • The crispy tortilla strips deserve to be treated as their own dedicated component rather than a garnish thrown together at the end. Frying them hot, in small batches, and only right before serving is what produces strips crisp enough to genuinely stand upright above the broth rather than going limp within minutes of contact with hot liquid — that upright presentation is a core part of what makes this soup visually distinctive, and soft, pre-made strips undermine it immediately.
  • The dried chile strips are a small addition with a narrow margin for error. Their thinness means they move from perfectly glossy and just-darkened to burnt and bitter in a matter of seconds in hot oil, which is why the recipe is explicit about discarding a batch that’s gone too dark rather than trying to salvage it — burnt dried chile, even in this small quantity, will carry a noticeable bitterness into every spoonful it touches.
  • Diced avocado and swirled sour cream are both timed intentionally close to serving for the same underlying reason: both are meant to sit as distinct, visually bright elements against the deep red broth rather than blending into it. Avocado diced too far ahead browns and dulls; sour cream added too early and stirred in loses its defined white swirl and simply disappears into the broth’s colour, losing the visual contrast this dish depends on.

Why This Recipe Works

This recipe works because its broth is built through genuine layered technique rather than a single blend-and-simmer step: roasting the tomatoes and aromatics, toasting and rehydrating the dried chiles, and specifically frying the finished blend before any stock is added together produce a broth with real roasted depth rather than a flat, raw-tasting one.

The crispy tortilla strips and dried chile strips are both treated as fast, last-minute components fried separately and added just before serving, which is what preserves the soup’s defining textural and visual contrast between crisp elements standing above a glossy, deep red broth.


Ingredient Breakdown

Roasted Tomatoes, Onion, and Garlic

The broth’s base — broiled first to concentrate sugars and add a light char before ever being blended.

Toasted Guajillo and Pasilla or Ancho Chiles

The depth and colour layer — dry-toasted to bloom their aromatics before rehydrating and blending into the base.

Fried Blended Base

The critical roasting step — cooked briefly in oil before stock is added, moving the flavour from raw and dusty to genuinely rounded.

Hot-Fried Crispy Tortilla Strips

The textural and visual anchor — fried hot and fast in small batches specifically so they stand upright above the finished broth.

Briefly Fried Dried Chile Strips

The finishing garnish — fried for only seconds in the same oil, adding a glossy, slightly smoky crunch without any real bitterness.


Flavor Structure Explained 

This tortilla soup follows a layered balance model:

  • Deep roasted foundation (tomato-chipotle broth)
  • Savoury tender centre (shredded chicken)
  • Crisp textural contrast (tortilla strips, chile strips)
  • Rich creamy finish (avocado, sour cream, cotija)
  • Bright sharp lift (lime, cilantro)

The tomato-chipotle broth defines the soup with deep, roasted, gently smoky flavour built through toasting, roasting, and frying rather than a single quick blend. Tender shredded chicken adds savoury substance without competing with the broth’s intensity. Crispy tortilla strips and the briefly fried dried chile strips contribute audible crunch that stands in sharp contrast to the smooth broth beneath. Diced avocado, swirled sour cream, and crumbled cotija all round out the bowl with rich, cooling creaminess, while a final squeeze of lime and scattered cilantro finish everything with clean, bright acidity.


Common Mistakes to Avoid 

  • Skipping the Step of Frying the Blended Base – The soup tastes like blended salsa dropped into stock rather than a properly built broth. Always fry the base for 5–7 minutes before adding the remaining stock.
  • Boiling the Soup Hard After Adding the Chicken – Aggressive boiling clouds the broth and toughens the meat. Always keep the simmer gentle once the chicken goes in.
  • Frying the Tortilla Strips Too Far Ahead – Strips fried too early soften before they ever reach the bowl, losing their signature upright crunch. Always fry them close to serving time.
  • Letting the Dried Chile Strips Overcook – These thin strips scorch within seconds and turn bitter. Always remove them the moment they’re glossy and just slightly darker, discarding and restarting if they go too dark.
  • Adding Sour Cream Too Early or Stirring It In – This loses the distinct white swirl against the red broth. Always add it just before serving and leave it as a visible streak rather than mixing it through.

Variations

Vegetarian Version

Omit the chicken and use vegetable stock in place of chicken stock, adding 400g of black beans or roasted sweet potato for substance in place of the shredded meat.

Spicier Version

Increase the chipotle peppers to 3 and their adobo sauce proportionally for a noticeably smokier, sharper heat throughout the broth.

With Queso Fresco Instead of Cotija

Substitute crumbled queso fresco for the cotija for a milder, softer cheese finish.

Extra-Loaded Version

Add a few extra garnishes alongside the classic ones — a scattering of pickled jalapeño slices or a few extra dollops of crema for a richer, more heavily topped bowl.


Storage & Make-Ahead

The tomato-chipotle broth base (fried, before adding stock) can be refrigerated in a sealed container for up to 5 days, or frozen for up to 3 months.

The finished soup, with chicken but without garnishes, can be refrigerated for up to 4 days. Reheat gently on the stovetop.

Crispy tortilla strips are best fried fresh the same day; they lose their crunch quickly once cooled and do not store well.

Dried chile strips can be stored in an airtight container at room temperature for a few days, though they’re best made fresh for maximum crispness.

The fully garnished, assembled bowl is not suitable for storage — assemble and top only what will be eaten immediately.


Frequently Asked Questions

Why does the blended base need to be fried before the stock is added?

A freshly blended purée still tastes raw and slightly dusty. Frying it briefly in oil concentrates and rounds out its flavour, moving it from something that tastes like blended salsa toward a properly built, roasted-tasting soup base. Skipping this step is the most common reason this soup ends up tasting thin.

Why simmer the chicken gently rather than at a stronger boil?

A hard boil clouds the broth and can toughen the chicken’s texture. A gentle simmer keeps the broth clear and glossy while cooking the chicken through evenly, so it shreds cleanly into tender strands rather than tightening up.

Why fry the tortilla strips separately and add them only right before serving

Strips fried too far in advance soften considerably before they ever reach the bowl. Frying them hot and fast, close to serving time, is what keeps them crisp enough to stand upright above the broth — the defining visual signature of this soup.

Why are the dried chile strips fried for such a short time?

Their thinness means they move from glossy and just-darkened to scorched and bitter within seconds in hot oil. The narrow window is intentional caution rather than an exaggeration — a burnt batch really does need to be discarded and restarted rather than used.

Are there other Mexican soups worth trying alongside this one?

If you enjoy this rich, chile-based approach to Mexican soup, Pozole Rojo is a similar direction worth exploring — it follows the same toast-and-blend chile technique for its broth, built instead around bone-in pork and hominy rather than chicken and tortilla strips, and finished with crisp cabbage and radish instead of avocado and cotija. It’s a heartier, slower weekend companion to this soup’s lighter, faster weeknight format.



Nutrition Facts 

( per serving )

Calories

~520 kcal

Protein

 32 g

Fat

28 g

Carbs

38 g

Calories

~520 kcal

Protein

 32 g

Fat

28 g

Carbs

38 g

Related Recipes

Related Recipes


You might also like

You might also like


Bowl of sopa de tortilla showing deep brick-red broth with shredded chicken, topped with crisp golden tortilla strips standing upright, diced avocado, white sour cream swirl, crumbled cotija, and dried chile strips on marble surface

Sopa de Tortilla (Tortilla Soup)

Deep brick-red tomato-chipotle tortilla soup with a rich aromatic broth, tender shredded chicken, and crisp golden tortilla strips piled high on top, finished with diced avocado, white sour cream swirl, crumbled cotija, dried chile strips, and lime. Frying the blended tomato-chipotle base before any stock is added is the technique hinge here — the same fried-base principle used elsewhere in this collection wherever a blended chile sauce needs to move from raw and dusty to roasted and rounded, and skipping it is the difference between a soup that tastes genuinely built and one that tastes like blended salsa dropped into stock. The crispy tortilla strips are treated as a separate, last-minute component rather than an afterthought, fried hot and fast so they're crisp enough to stand upright above the broth rather than going soft and sinking. The dried chile strips take only seconds in hot oil, a window narrow enough that the recipe calls for discarding and starting over if they scorch. The payoff is a bowl with real visual architecture — glossy red broth below, crisp golden strips standing above it, with bright avocado and white cream swirled across the surface.
Prep Time 25 minutes
Cook Time 45 minutes
Total Time 1 hour 10 minutes
Servings: 4
Course: Soup
Cuisine: Mexican
Calories: 520

Ingredients
  

For the Tomato-Chipotle Broth
  • 800 g Roma tomatoes halved
  • 1 medium white onion cut into wedges
  • 5 garlic cloves peeled
  • 30 ml neutral oil
  • 2 chipotle peppers in adobo
  • 20 g adobo sauce
  • 20 g tomato paste
  • 1 dried guajillo chile stem and seeds removed
  • 1 dried pasilla or ancho chile stem and seeds removed
  • 1.2 litres chicken stock
  • 4 g ground cumin
  • 3 g dried Mexican oregano
  • 2 g smoked paprika
  • 8 g kosher salt plus more to taste
  • 2 g freshly cracked black pepper
  • 15 ml fresh lime juice
For the Shredded Chicken
  • 450 g chicken thighs skinless and boneless or chicken breast
  • 3 g kosher salt
  • 1 bay leaf
  • Enough broth from above to simmer the chicken
For the Crispy Tortilla Strips
  • 8 corn tortillas about 15cm / 6 inches diameter
  • 300–500 ml neutral oil for frying
  • 3 g kosher salt
For the Dried Chile Strips
  • 2 dried guajillo or pasilla chiles stems and seeds removed
  • 15 ml hot frying oil from the tortilla strips
  • Pinch of salt
For Garnishing and Serving
  • 2 ripe avocados diced
  • 120 g sour cream or Mexican crema
  • 80 g cotija cheese crumbled
  • 20 g fresh cilantro leaves
  • 2 limes cut into wedges
  • Crispy tortilla strips from above
  • Dried chile strips from above

Method
 

Roast the Tomato Base
  1. Place the Roma tomatoes, onion wedges, and garlic on a tray. Drizzle with neutral oil and roast under a hot broiler for 8–12 minutes, turning once, until the tomatoes soften, collapse slightly, and develop charred spots. The tomatoes should look roasted and juicy, not dry. Do not burn the garlic; bitter garlic will flatten the broth. Broiling rather than simmering the tomatoes and aromatics concentrates their sugars and adds a light char that a purely blended-and-simmered base wouldn’t have — this early step is quick but sets the tone for the broth’s overall depth.
Toast and Soften the Chiles
  1. Toast the guajillo and pasilla or ancho chile in a dry skillet over medium heat for 10–15 seconds per side, just until fragrant and flexible. Do not let them blacken or smoke. Cover the toasted chiles with hot water and soak for 10–15 minutes until softened. Drain before blending. The brief dry toast blooms each chile’s specific aromatic character before rehydration — guajillo’s fruity tang and pasilla or ancho’s darker, raisin-like sweetness both come through more clearly toasted than simply soaked from raw.
Blend the Broth Base
  1. Blend the roasted tomatoes, onion, garlic, softened chiles, chipotle peppers, adobo sauce, tomato paste, cumin, Mexican oregano, smoked paprika, salt, black pepper, and 300ml chicken stock until completely smooth. Strain through a fine sieve if the mixture has visible chile skin or tomato skin. The base should be vivid red-orange, smooth, and thick. A high-powered blend here matters for the finished soup’s texture — any unblended skin fragments left in will remain as a slightly gritty presence in an otherwise smooth, glossy broth.
Fry the Broth Base
  1. Heat a large pot over medium heat. Add a thin film of neutral oil if the pot is dry. Pour in the blended tomato-chipotle base and cook for 5–7 minutes, stirring often, until it darkens slightly, thickens, and smells roasted instead of raw. This step matters. If you skip it, the soup tastes like blended salsa dumped into stock. Frying the paste briefly before any stock is added lets its flavour compounds bloom directly in fat rather than diluting immediately into liquid — this is the exact same principle that separates a rounded, roasted-tasting sauce from a flat, dusty one.
Simmer the Broth and Chicken
  1. Add the remaining chicken stock and bring to a simmer. Add the chicken and bay leaf. Reduce the heat to medium-low and simmer gently for 18–22 minutes, until the chicken reaches 74°C internally and shreds easily. Remove the chicken and rest for 5 minutes. Discard the bay leaf. Shred the chicken into medium strands. Return the shredded chicken to the soup and simmer for another 5 minutes. Finish with lime juice and adjust salt. The broth should be deep brick-red, glossy, and spoonable — not thick like enchilada sauce and not watery. A gentle simmer rather than a hard boil keeps the chicken tender and the broth clear rather than clouded, and the 5-minute rest before shredding firms the meat’s fibres just enough to pull into clean strands.
Make the Crispy Tortilla Strips
  1. Stack the corn tortillas and cut them into thin strips, about 1cm wide. Heat neutral oil in a saucepan to 175–180°C. Fry the tortilla strips in batches for 60–90 seconds, stirring gently, until golden, crisp, and bubbling slows. Transfer to a rack or paper towel-lined tray and season immediately with salt. Do not crowd the oil. Pale soft strips are useless here. They need to be crisp enough to stand upright above the broth. Salting immediately while the strips are still hot and glistening with oil is what allows the seasoning to actually adhere — strips left to cool first won’t hold salt nearly as well.
Make the Dried Chile Strips
  1. Cut the dried guajillo or pasilla chiles into thin strips. Briefly fry them in 15ml hot tortilla-frying oil for 5–10 seconds, just until glossy and slightly darker. Remove immediately and season with a pinch of salt. They burn fast. If they turn almost black, throw them out and start again. Using the same oil already hot from frying the tortilla strips saves a step and means the chile strips fry in oil that’s already carrying a light corn flavour, but the window here is genuinely narrow — these thin dried chiles go from glossy to scorched in a matter of seconds.
Prepare the Garnishes
  1. Dice the avocado shortly before serving so it stays bright green. Loosen the sour cream with a few drops of water or lime juice if needed so it can swirl into the soup. Crumble the cotija and pick the cilantro leaves. Timing the avocado dicing to as close to serving as possible limits its exposure to air and the oxidation that dulls its colour, keeping the diced cubes visually vivid against the red broth.
Serve
  1. Ladle the hot tomato-chipotle broth and shredded chicken into four bowls. Add diced avocado across the surface. Swirl sour cream through the broth in thick white streaks. Scatter cotija and dried chile strips. Pile crispy tortilla strips generously in the centre of each bowl, leaving some standing upright above the broth. Finish with cilantro leaves and lime wedges on the side. Serve immediately before the tortilla strips soften. Leaving some strips standing genuinely upright, rather than fully submerging all of them, is the plating detail that preserves the soup’s defining visual signature — strips buried completely in hot broth begin softening within minutes.

Notes

Frying the blended tomato-chipotle base before it ever meets the stock is the single most consequential step in this recipe, and it’s also the easiest one to underestimate or skip when short on time. A freshly blended purée, however good its individual ingredients, still tastes raw and slightly dusty on its own — cooking it in a little oil for 5–7 minutes concentrates and rounds out that flavour, moving it from something that tastes like blended salsa toward something that reads as a properly built soup base. Skipping this step and going straight to adding stock is the most common way this soup ends up tasting thin and one-dimensional.
The crispy tortilla strips deserve to be treated as their own dedicated component rather than a garnish thrown together at the end. Frying them hot, in small batches, and only right before serving is what produces strips crisp enough to genuinely stand upright above the broth rather than going limp within minutes of contact with hot liquid — that upright presentation is a core part of what makes this soup visually distinctive, and soft, pre-made strips undermine it immediately.
The dried chile strips are a small addition with a narrow margin for error. Their thinness means they move from perfectly glossy and just-darkened to burnt and bitter in a matter of seconds in hot oil, which is why the recipe is explicit about discarding a batch that’s gone too dark rather than trying to salvage it — burnt dried chile, even in this small quantity, will carry a noticeable bitterness into every spoonful it touches.
Diced avocado and swirled sour cream are both timed intentionally close to serving for the same underlying reason: both are meant to sit as distinct, visually bright elements against the deep red broth rather than blending into it. Avocado diced too far ahead browns and dulls; sour cream added too early and stirred in loses its defined white swirl and simply disappears into the broth’s colour, losing the visual contrast this dish depends on.