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 the broth and the tomato sauce to the pan. Place the remaining 1 cup of beans and 1/2 cup broth in 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.