Soups & Stews
This authentic Aztec soup brings the smoky, earthy flavors of pre-Hispanic Mexico to your kitchen with a technique rooted in ancient traditions. The foundation—charred tomatoes, chiles, and hominy—mirrors the original caldo de tomate enjoyed by the Aztecs, while modern adaptations make it accessible for today's cooks.
The key lies in slow-simmered depth, where epazote and corn add distinct layers of flavor that transport you to Tenochtitlan.
Traditional methods like toasting spices and using dried chiles create that signature smoky aroma, but we've simplified the process without sacrificing authenticity. Hominy, a staple in Mesoamerican cuisine, provides the hearty texture, while beans add protein and richness.
The result is a soup that's both comforting and historically grounded—perfect for those seeking a taste of Mexico's culinary heritage.
What makes this recipe special is its balance of tradition and practicality. You'll achieve that authentic flavor profile with accessible ingredients and straightforward steps, ensuring the dish remains true to its roots while fitting seamlessly into a modern meal plan.
The smoky tomato-chili base, combined with the earthy notes of epazote, creates a complex yet harmonious taste that's both familiar and intriguing.
Serve this soup with warm tortillas or crusty bread to soak up every last drop of that rich, smoky broth. It's a dish that tells a story—one of ancient techniques, bold flavors, and a connection to Mexico's vibrant culinary past. Let's bring this tradition to your table.
Ingredients for authentic aztec soup
Sixteen ingredients rooted in ancient traditions, blending smoky chiles and earthy hominy for a soup that tells a story.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Ancho Chiles 🌶️ | 4 whole | Stems and seeds removed, toasted lightly |
| Dried Guajillo Chiles 🌶️ | 3 whole | Stems and seeds removed, toasted lightly |
| Roma Tomatoes 🍅 | 4 whole | Charred over flame |
| White Hominy 🌽 | 2 cups | Nibbled corn kernels, soaked overnight |
| Pinto Beans 🌱 | 1 ½ cups | Dried, soaked overnight |
| Fresh Epazote 🌿 | ½ cup | Chopped, stems removed |
| Yellow Corn 🌽 | 2 cups | Fresh kernels, husked |
| Onion 🧅 | 1 whole | Yellow, chopped |
| Garlic Cloves 🧄 | 4 cloves | Peeled, minced |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Olive Oil 🫒 | ¼ cup | Extra-virgin, for toasting |
| Chicken Broth 💧 | 4 cups | Low-sodium preferred |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Ground Cumin 🌿 | 1 tsp | Toasted for depth |
| Ground Coriander 🌿 | ½ tsp | Freshly ground preferred |
The chiles are non-negotiable for that signature smoky depth. MexGrocer or La Tienda carry the best dried ancho and guajillo—look for vibrant, unblemished pods. Toast them lightly in a dry skillet until fragrant (about 30 seconds per side), then soak in hot water for 15 minutes to soften. The hominy? Mexican markets sell it pre-soaked, but if you're using canned, opt for the white variety—it's the traditional choice. For the beans, pinto is classic, but black beans work too (just adjust cooking time). The epazote, with its licorice-like aroma, is the secret weapon—farmers markets often have it fresh, but dried works in a pinch (use half the amount).
No ancho chiles? Pasilla or mulato chiles are solid substitutes, though they’ll shift the flavor slightly toward chocolatey or raisin notes. Short on epazote? Dried tarragon at half the amount mimics the herbal brightness, though it won’t be identical. The corn can be fresh or frozen—just make sure it’s sweet, not starchy. For the broth, low-sodium is key; homemade is ideal, but store-bought works if you dilute it with water. The cumin and coriander are toasted in the olive oil before adding the broth—this step is non-negotiable for that authentic aroma. And if you’re feeling adventurous, swap half the pinto beans for posole beans for a deeper, nuttier flavor.
This soup tastes even better the next day—the flavors meld like magic. Store leftovers in the fridge for 4-5 days, or freeze portions for up to 3 months. I like to make a double batch; the second round gets even richer as the broth reduces. Garnish with fresh cilantro and a drizzle of extra-virgin olive oil before serving—it’s the finishing touch that makes it feel special. Serve with warm blue corn tortillas or crusty bread to soak up every last drop of that smoky broth.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just toast the dried chiles, toss in the tomatoes and hominy, and let it simmer. No chopping mountains of veggies or constant stirring; the beans and hominy thicken right into that rich, velvety broth all on their own.
- Smoky Depth Bomb: Between the ancho’s smoldering heat and guajillo’s fruity undertones, this soup tastes like a hug from a Mexican abuela. The Roma tomatoes round it out with a brightness that makes every spoonful sing—especially when you let the chiles steep properly.
- Meal Prep MVP: This keeps for days in the fridge, and honestly? The flavor gets even better after the second day. Pack it for lunches, serve it at potlucks, or freeze half for when you’re too tired to cook—it reheats like a dream, with zero texture loss.
- Pantry Goldmine: I make this when I’m broke or lazy (or both). Dried chiles last forever, hominy’s a steal in bulk bins, and pinto beans? Cheaper than takeout, hands down. Plus, the leftovers stretch into tacos, tostadas, or even a quick quesadilla—no waste, all flavor.
Step-by-step instructions for authentic Aztec soup
Bring ancient Aztec flavors to life with this smoky, hearty soup that honors traditional techniques.
Toast and Rehydrate the Dried Chiles
Heat a dry skillet over medium heat. Add the 4 whole dried ancho chiles and 3 whole dried guajillo chiles, stems and seeds already removed. Toast them for 1-2 minutes per side until fragrant and slightly darkened—you'll smell their deep, earthy aroma. This step unlocks their complex flavors.
Immediately transfer the toasted chiles to a heatproof bowl and cover them with 4 cups hot chicken broth (the same amount specified in your ingredients). Let them soak for 20 minutes while you prepare the remaining ingredients. The broth will turn a beautiful deep red as the chiles rehydrate and infuse their smoky essence.
Char the Tomatoes and Sauté the Aromatics
Hold each of the 4 whole Roma tomatoes over a gas flame (or under a broiler) until their skins blacken in spots. This charring adds a smoky depth that's essential to authentic Aztec flavors. Once charred, peel off the blackened skin and roughly chop the tomatoes.
In a large pot, heat 0.25 cup olive oil over medium heat. Add the chopped 1 whole onion and cook for 5 minutes until softened. Add the 4 cloves minced garlic and cook for another 30 seconds until fragrant—this prevents the garlic from burning and creates the aromatic base for your soup.
Build the Smoky Chili-Tomato Base
Strain the soaked chiles through a fine-mesh sieve, pressing gently to extract all the liquid and pulp. Discard the chile skins. Add this chile mixture to the pot with onions and garlic. Stir in the chopped charred tomatoes and cook for 5 minutes until the mixture darkens and thickens slightly.
Add the 1 tsp ground cumin and 0.5 tsp ground coriander, stirring constantly for 1 minute to toast the spices and release their aromas. This is where the authentic Aztec flavor profile comes together—smoky, slightly sweet, with warm spice notes that will form the soul of your soup.
Simmer the Hearty Bean and Corn Mixture
Add the 1.5 cups pinto beans (already soaked overnight) and 2 cups white hominy to the pot. Pour in the remaining 4 cups chicken broth and bring to a boil. Reduce heat to low and simmer for 30 minutes, stirring occasionally, until the beans are tender but still hold their shape.
Add the 2 cups yellow corn and 0.5 cup chopped fresh epazote (stems removed). The epazote will add its distinctive anise-like flavor that's signature to Aztec cuisine. Simmer for another 10 minutes until the corn is heated through and the epazote is wilted but still vibrant in color.
Season and Finish with Fresh Herbs
Season the soup with 1.5 tsp salt, tasting as you go. The salt should enhance all the flavors without overpowering them. Let the soup simmer uncovered for 5 minutes to allow flavors to meld and any excess moisture to evaporate.
Remove from heat and stir in the 0.25 cup chopped fresh cilantro. This final touch adds brightness and freshness that balances the smoky, earthy flavors. Ladle the soup into bowls and serve immediately while hot, garnished with additional cilantro if desired. Each spoonful should deliver that perfect balance of smoky chiles, hearty beans, and fresh corn.
Pro Tips For Making Authentic Aztec Soup
- STEAM THE CHILES FIRST: I learned this the hard way—tossing dried ancho and guajillo chiles straight into boiling water makes them float like stubborn corks. Instead, cover them with fresh water in a saucepan, bring to a gentle simmer, then turn off the heat and let them steam under the lid for 10 minutes. The skins will soften enough to peel cleanly, and you’ll avoid that bitter, underused chile taste.
- TOAST THE HOMINY: White hominy straight from the can tastes bland—like it’s been sitting in a factory waiting for flavor. Drain it, then dry it thoroughly with a towel before toasting in a skillet over medium heat for 3-4 minutes until golden brown in spots. The nutty aroma alone makes the soup taste deeper, and it prevents that mushy texture later.
- REMOVE TOMATO SKINS: Roma tomatoes are the backbone of this soup, but their skins turn the broth cloudy and bitter if left in. After blanching, rub the tomatoes with a paper towel to loosen the skins before peeling—it’s faster than you’d think. Trust me, the clear, vibrant broth is worth the extra 30 seconds.
- SIMMER THE BEANS LOW: Pinto beans need patience, not heat. After soaking, add them to the simmering broth and reduce the flame to the lowest setting possible—just enough to keep tiny bubbles breaking the surface. High heat toughens them, and you’ll end up with a soup full of whole beans instead of creamy texture. Let them cook for 45 minutes, stirring occasionally.
Essential equipment for perfect results
Dried Chile Toasting
Start with a cast-iron skillet—its heat retention makes toasting chiles effortless. I use a 10-inch Lodge skillet because it distributes heat evenly. Toast the ancho and guajillo chiles for 1-2 minutes per side until fragrant.
A tongs helps flip them quickly. Never over-toast—just until they darken slightly. This step unlocks their deep, smoky essence that defines Aztec flavors. 🌶️
Broiler or Flame Char
For the Roma tomatoes, a broiler works best if you don't have a gas flame. Place a wire rack on a baking sheet and broil tomatoes 3-4 inches from heat for 5-7 minutes, turning occasionally.
The goal is blackened spots, not complete charring. A heatproof spatula makes peeling the skin easier. This smoky charing mimics ancient open-flame cooking techniques.
Large Dutch Oven
This soup requires a 6-quart Dutch oven—I swear by the Le Creuset Signature Round with its thick base for even heat distribution. The deep sides prevent spills when adding beans and corn.
A wooden spoon helps scrape up flavorful bits from the bottom. The Dutch oven's lid keeps heat contained during the 30-minute simmer, ensuring the beans cook through without drying out.
Fine-Mesh Sieve
After soaking the chiles, you'll need a fine-mesh sieve to strain out the skins while keeping the flavorful pulp. I use a stainless steel mesh strainer from OXO—it's durable and won't clog with chile fibers.
Press gently with a rubber spatula to extract every last drop of chile-infused liquid. This step is crucial for that authentic Aztec depth in your soup.
Immersion Blender
For a silky texture without overcooking, use an immersion blender to partially purée the chile-tomato base after simmering. The Ninja BN601 handles thick soups beautifully. Pulse for 10-15 seconds—just enough to break down the tomatoes slightly while keeping some texture.
This creates that perfect balance between smooth and rustic that traditional Aztec soups achieve.
Serving Tools
Serve this soup with warm corn tortillas and a tortilla warmer. I love the Cuisinart Tortilla Warmer for keeping them soft. For garnishing, a small bowl of chopped cilantro and a lime wedge on the table let everyone customize their bowls.
A ladle with a long handle makes serving from the pot easier, especially when the soup is bubbling hot. 💫
Nutrition facts
Frequently asked questions
What makes this Aztec soup recipe authentic?
Authenticity comes from three key elements: charred tomatoes and toasted chiles for smoky depth, plus epazote—a traditional Aztec herb with a unique licorice-like flavor. The combination of hominy and pinto beans mirrors pre-Hispanic staple ingredients, while slow-simmering the broth builds the complex flavors that define this cuisine.
Can I substitute dried chiles with fresh ones?
Fresh chiles won't give the same deep, smoky flavor, but you can use 2-3 fresh poblano or jalapeño peppers charred over a flame instead. Remove seeds and membranes first, then blend with broth. For best results, still toast them lightly in a dry skillet before blending to capture some of that authentic aroma.
How do I find epazote if my store doesn't carry it?
Epazote is often sold in the Latin American section of grocery stores or at Mexican markets. If unavailable, substitute with dried tarragon at half the amount—it provides a similar herbal brightness, though not identical. For a stronger flavor, try Mexican oregano (not Mediterranean oregano), but reduce to ¼ cup as it's more potent.
Is this soup spicy? Can I make it milder?
The recipe uses mild dried chiles (ancho and guajillo), so it's flavorful but not spicy. To make it even milder, remove the seeds and membranes from the chiles before toasting, or reduce the amount to 2 ancho chiles total. For extra mildness, blend the chile mixture and strain through a cheesecloth to remove any remaining heat.
Can I make this soup vegetarian?
Yes! Simply replace the chicken broth with vegetable broth and use black beans or lentils instead of pinto beans. For extra protein, add 1 cup cooked quinoa or crumbled tofu at the end. The smoky chile-tomato base remains the same, ensuring the authentic Aztec flavor profile.
