Step 1In a blender, puree the tomatoes, onion and garlic to a smooth sauce. Place the oil in a large saucepan and add the tomato mixture. Cook about 5 minutes, until the sauce has reduced somewhat.
Step 2Add the chicken broth and bring to a boil. Simmer for 10 to 15 minutes. Add the epazote during the last minute of cooking. Adjust the seasoning.
Step 1Break the tortillas into small pieces and grind to fine crumbs in the blender in batches. You should have about 1 1/2 cups of crumbs.
Step 2Place the crumbs in a bowl and add the hot milk, cheese, egg and salt. Knead the dough well with your fingers; the mixture will be crumbly. Set it aside for several hours or refrigerate overnight to allow the tortilla particles to soften.
Step 3Again knead the dough well, adding the cold milk. Form the dough into one long piece. Divide this into 12 pieces and divide each piece in half. Lightly moisten your hands and roll the 24 pieces into balls about 1 inch in diameter.
Step 4Heat the oil in a skillet and fry the balls in batches very gently, turning them from time to time until they are golden brown, about 5 minutes. Drain well on paper towels.
Step 5Reheat the broth. Add the tortilla balls and bring the broth to a boil, then reduce the heat and simmer about 2 minutes. Serve in individual bowls, allowing four balls per serving. Top each with a spoonful of the sour cream and some chopped cilantro.