The 54-year-old driver lost control of the bus after passing out from a medical condition at around 1.30pm, city police said.
The vehicle ran into a parked car as it zig-zagged through an intersection.
“There was panic on the bus,” a visibly shocked woman who witnessed the out of control bus told the 20Minuten news site.
“The driver was unconscious and no one was driving the bus.”
A 32-year-old man from France, a passenger on the bus, was able to reach over the driver and press the brake to bring the vehicle to a halt, police said.
A woman was injured when she was thrown against a door.
The injured woman, the driver and another passenger were taken to the Basel university hospital for treatment.
A passenger broke down a door to allow the occupants to get out of the bus.
A spokesman for the transit company said the driver had fainted.
Police spokesman Martin Schütz praised the “courageous and meritorious action” taken by the passenger to stop the bus.
“Fortunately, the uncontrolled bus caused no further damage.”