"He smoked the train," witness Mark Cogan said of the bus driver, who was among those killed. "He went through the guard rail and just hammered the train, and then it was just mayhem."
It was not immediately clear what caused the bus to smash through the lowered barrier at a crossing in suburban Ottawa.
The front of the double-decker bus was ripped away by the impact, and the train's locomotive and one passenger car derailed, though there were no reports of major injuries to train passengers or crew.
Officials in Ottawa said 10 of the injured were in critical condition as the crash brought trains on the national Via Rail's Ottawa-Toronto route to a standstill.
It was Canada's second major rail accident in less than three months. A runaway oil train derailed and exploded in a Quebec town on July 6, killing 47 people in the country's worst rail disaster in more than a century.
Tanner Trepanier said he and other passengers could see the four-car train bearing down on them as the bus approached the crossing.
"People started screaming, 'Stop! Stop!' because they could see the train coming down the track," Trepanier said.
But the driver didn't slow down, said Rebecca Guilbeault, who was on the bus with her 1-year-old son.
"I don't know if the bus driver blacked out," she said. "I've seen a few people dead, someone ripped in half."
Another passenger, Gregory Mech, said the train crossing has about a 90-degree bend and he didn't think the driver saw that the signals were flashing and the barrier was down.
"The bus actually hit the train dead on," Mech told the Canadian Broadcasting Corp. "I could see that there were bodies on the train tracks. It was horrible."
Transit union president Craig Watson confirmed the driver was killed. He did not identify the driver but said he was in his early 40s and had been with the bus company for about 10 years.
"It is a tragic morning in the nation's capital," Canadian Prime Minister Stephen Harper said in a statement.
The bus was on a dedicated transit line that runs parallel to a busy commuter artery just outside the suburban train station of Fallowfield.
Via Rail crossings have long been a concern, according to the national Transportation Safety Board's lead investigator, Glen Pilon, who said retrieving the black box recording was a priority to determine what went wrong.
Canada has seen 257 accidents involving passenger trains colliding with vehicles at level crossings over the last decade, the safety board said Wednesday.
Trains striking cars or trucks at rail crossings occur "with unfortunate frequency," said Grady Cothen, a former senior safety official with the U.S. Federal Railroad Administration.
Driver distraction or fatigue and poorly designed intersections all can be factors, he said.
In the U.S., buses are required to stop before proceeding through a railroad crossing, even if crossing gates are up and there is no signal indicating a train is coming, Cothen said.
Associated Press writer Rob Gillies in Toronto and Joan Lowy in Washington contributed to this report.