Heat the oil in a large saucepan over medium heat. Add the onion, garlic, cumin, chili powder and salt. Cook for 5 minutes, stirring occasionally. Reserve 1 cup of the beans.
Add the remaining beans, 2 cups of broth, and the tomato sauce to the pan.
Place the reserved 1 cup of beans and 1/2 cup broth in a food processor and process until well mashed. Stir into the soup. Bring to a simmer and cook 10 minutes, stirring frequently.
Whisk the sour cream and lime juice in small bowl.
Drizzle each serving with the sour cream and sprinkle with green onions.