The crash took place west of downtown at 3:50 p.m., at the beginning of rush hour, just as dusk was beginning to settle on the coldest day of the winter so far in the capital.
Paramedics said it was too early to talk about fatalities.
Photos from the scene show that one side of second floor was partially crushed by the roof, and multiple people were being treated next to the bus.
No other details were immediately available.
Officials say two of the dead were passengers on the bus, and the third was on the platform at Westboro station, a major stop on the city's busway.
Four hours after the crash, Ottawa Hospital said that seven patients were in a critical condition and nine in a stable condition.
"The bus started swerving, I guess it hit the curb or hit something".
At the press conference, Graham said it will be "a long, detailed and complex investigation". I know that the people of Ontario have them in their hearts tonight.
While police initially took the female driver of the bus into custody, they said Saturday she had been released without charges.
The bus driver was taken to the accident scene is fixed and should be questioned, said Ottawa police chief Charels Bordeleau.
Due to the investigation, OC Transpo said its Saturday routes serving Westboro and Dominion stations are on detour between Lincoln Fields and Tunney's Pasture stations.
"Seats (were) sort of piling up in front of me and heading towards me and very quickly (I) realized there was really nowhere for me to go", he recalled. There are several passengers with such force were trapped, rescue workers had to free them later. "Definitely people were hurt". "It was chaos at first".
Three people are dead after a double-decker city bus struck a transit shelter in Ottawa this afternoon. The bus could have been holding as many as 90 passengers.
This wasn't the only crash on the road Friday. "Thank you to the first responders who rushed to help - we're monitoring the situation closely".