The accident just outside a suburban station in the city's west end caused Via Rail to cancel trains on its Ottawa-Toronto route.
Witness Mark Cogan told C424 TV said the rail barrier was down.
"The train is going through," Cogan said. "And I was just looking around, just watching things happen.
"And noticed that in the bus lane, the double-decker bus ... I saw him, and he just kept going.
"I just thought maybe there's a side way around or something, but instantly, he just . he smoked the train.
"He went through the guard rail and just hammered the train, and then it was just mayhem."
More top news
Two suspected illegal immigrants have been detained after one was spotted waving at motorists while sitting on the rear axle of a lorry.
Toronto Police will not charge two men who built a long tunnel through the city "for personal reasons."
More cold, wintry weather into March