Melt the butter in a large saucepan or stockpot over medium-high heat. Saute the onions until limp and deep golden, 12 to 15 minutes. Stir in the leek, celery, garlic and mushrooms, along with the salt and pepper. Cook, stirring frequently, until the mushrooms are golden brown, 15 to 20 minutes.
Pour in the wine and bring to a boil. Simmer until all the liquid is evaporated. Then add the vegetable stock or water and epazote (or oregano and mint). Bring to a boil, reduce to a simmer and cook about 12 minutes. Transfer to a food processor or blender and puree until smooth.
Return to the saucepan and add the milk and sour cream. Warm over medium-low heat, stirring frequently, to thoroughly heat; do not boil. Ladle into bowls and garnish with fresh lime juice and crisp fried leeks if desired.
Roughly chop all vegetables and place in a large pot. Pour in water to cover and bring to a boil. Reduce heat to a simmer, skim and discard and impurities from the top. Add the spices. Simmer, uncovered for about 2 hours. Strain and store in the refrigerator up to a week or keep frozen.
c.1996, M.S. Milliken & S. Feniger, all rights reserved