Pour off all but a thin coating of hot oil. Add garlic and onion and cook over medium-low heat, stirring frequently, until golden, about 7 minutes. Using a slotted spoon, press garlic against side of pan to leave behind as much oil as possible, then transfer garlic and onion to a blender or food processor.
Add chile pieces to hot pan. Turn quickly as they fry and release a delicious aroma, about 30 seconds in all. (Frying too long will make them bitter.) Transfer to paper towels to drain; set pan aside. Chop chiles when cooled.
Puree tomatoes with garlic mixture in the blender or food processor until smooth. If using fresh tomatoes, strain puree to remove pieces of tomato skin. Heat same saucepan over medium-high heat. Add tomato puree and stir until thickens to consistency of tomato paste, about 10 minutes. Add stock and epazote; bring to a boil, then partially cover and gently simmer over medium-low heat 30 minutes. Add salt.
To serve: Divide cheese and avocado among warmed soup bowls. Ladle broth into each bowl; top with tortilla strips and a sprinkle of fried chiles. Serve with lime wedges.
Recommended ingredients: Ancho chiles and epazote are available in Mexican markets or online at www.melissas.com.