One man saw a severed hand lying on the asphalt and another said blood and clumps of hair were visible where people's faces had scraped along the road.
In all, 28 people were taken to hospital and nine were treated and released at the scene on Highway 28 near Redwater, about 65 kilometres northeast of Edmonton.
Lalo Ramkissoon said it felt like the bus was wobbly and out of control as it was taking a curve before it tipped. His wife, Joan, said it seemed like the bus was speeding.
"The bus started to slip and things started to fly around," he said.
His first thought was for his wife in the window seat beside him. He braced her with one arm and blocked falling bags from hitting her with the other.
Ramkissoon felt the bus tip to the right, then land back on its wheels and tip over onto its left side. Windows shattered as the enormous vehicle skidded along the pavement, and he saw some people's faces scrape along the road as the bus skidded to a halt.
"There was just blood everywhere," and people were flying around and screaming, said passenger Daniel Chingombe, who was heading home to Edmonton after finishing a night shift as a mechanic in Fort McMurray.
Chingombe had fallen asleep in his aisle seat, but awoke when the bus crashed to the horrible sight of the man who had been sitting next to him by the window.
"Half his face was literally sliding on the road," said Chingombe.
He said the man managed to crawl out to safety, and he climbed out a window. Outside, he saw hair on the ground and the severed hand.
Ramkissoon said he tried to help those more seriously wounded who couldn't move, some with broken bones, some whose legs were stuck under seats. He made sure they were breathing, put jackets under their heads and backpacks under their feet.
He then helped pass other people out the roof exits to waiting paramedics.
Ramkissoon knows he and his wife are lucky. They had cuts hands wrapped and stitched up at the Fort Saskatchewan hospital and were released after a few hours.
But he said he is upset. They decided it would be safer to take the bus than drive from Fort McMurray to attend a friend's funeral in Edmonton. The friend was killed in a car crash a couple weeks ago.
"That kind of said to us, `well, maybe you should try the bus.' "
The weather was cold but the road was clear and dry and Ramkissoon said there was no oncoming traffic. He questions whether something was mechanically wrong with the bus.
Red Arrow general manager John Stepovy said the bus had been headed from Fort McMurray to Edmonton with a full load of 36 passengers along with the driver.
He said there was no immediate indication of a cause for the rollover: "Our main concern is the well-being of passengers on the coach."
RCMP Sgt. Patrick Webb said five people were trapped in the bus and had to be extricated.
Kerry Williamson of Alberta Health described most of the injuries were minor, but three people were listed in critical condition.
A spokesman for STARS air ambulance said two people were flown to hospitals in Edmonton. The first was a man in his 60s, said Cam Heke.
"He had sustained a very serious injury. His general condition was stable en route to the hospital.
"After transporting that patient, we then returned to the scene of the rollover and we received a second patient — an adult female, also in her 60s. She was also in stable condition; however, she had also sustained a very serious injury."
Heke didn't know if the two people were related.
Williamson said one other patient was transported in critical condition by ground ambulance to Edmonton.
Other injured passengers were taken to hospitals in St. Albert, Fort Saskatchewan, Redwater, Westlock and Edmonton.
By late afternoon, all the patients treated at the Redwater hospital had been discharged.
Williamson said a multi-casualty injury bus was sent from Edmonton to the site. The bus contains five stretchers and allows first responders to treat and triage at the scene.
"Some patients were treated on site by that bus," Williamson said.
A dozen ambulances from seven communities responded, along with police, fire and emergency rescues officials. Safety officials from Red Arrow were there as well.
Police were warning motorists that Highway 28 was closed and would remain so for several hours.
Highway 28 was also the site of a serious accident in May 2005 when a bus carrying oilsands workers coming home from Fort McMurray was hit by a semi-trailer near Gibbons, just down the road from Redwater.
Six people were killed and almost two dozen were injured.