Heat a Dutch oven over medium heat. Add the oil, then the onions. Cook, stirring occasionally, until onion is soft 15-20 minutes. Reduce the heat if browning starts to occur. Add the garlic and cook another minute.
Transfer the onions and garlic to a blender jar. Add the tomatoes and ancho chile and blend till smooth. (Alternatively, you can add the tomatoes and ancho chile to the pot and blend with an immersion blender.)
Return the tomato mixture to the saucepan and cook over medium-high heat, stirring often, until thick, 6-8 minutes. Stir in the broth and season with salt.
IF you are using soaked, uncooked black beans, add them now. Bring to a boil, reduce heat and simmer until the beans are tender. This could take 1-2 hours, depending on the size of the bean and how long they soaked. Check occasionally and add more chicken broth as needed. Just before serving, increase the heat and allow the soup to thicken slightly, 10-15 minutes, then add the poblano peppers.
IF you are using canned beans or soaked, cooked beans, add them 5-10 minutes before serving, along with the charred poblano peppers, just to warm them through, 5-10 minutes
Serve soup topped with queso fresco (can sub feta) and limes alongside.