Place the ancho and cayenne peppers in a small bowl. Cover with the boiling water and set aside to cool.
Heat the oil in a large soup pot over medium heat. Add the onion, carrot and celery, stir well to coat with oil and saute for 2-3 minutesor until the onion is transparent.
While the onion is sauteing, puree the re-hydrated peppers along with the tomatoes in a blender for 1 minute, until smooth and free of chunks. Add the puree and the remaining ingredients to the pot, bring the soup to the boil, then reduce the heat to low. Cover and simmer for 30 minutes stirring often to prevent the beans from sticking to the bottom of the pot. Using a slotted spoon, remove 1 cup of the beans and set aside. Puree the rest of the soup in the blender or a food processor. Return the puree and the reserved beans to the pot and reheat over the lowest possible heat.
Stir well before serving.