It happened Wednesday night near Flat Rock Road and Leverington Avenue.
Authorities say the Route 61 bus got stuck in floodwaters from the Schuylkill River.
Two passengers and the driver, who were the only ones onboard, were pulled from the roof and brought to safety.
They were taken to waiting ambulances to be checked out.
No other injuries were reported.