Sort and wash beans; place in a large Dutch oven. Cover with water to 2 inches above beans. Cover and let stand 8 hours. Drain beans; return to pan. Add 4 cups water. Bring to a boil; cover, reduce heat to medium, and cook 30 minutes.
Heat oil in a large nonstick skillet over medium heat. Add celery and next 3 ingredients; cook 6 minutes or until tender.
Add celery mixture, broth, and next 5 ingredients to beans; cook 20 minutes over medium heat or until thoroughly heated. Let stand 30 minutes before serving. Spoon soup into individual bowls. Top each serving with sour cream and green onions.