Around 16 people were injured when a train failed to brake and hit a barrier at Richmond Station in Sydney's north-west this morning, with one witness saying passengers were sent "flying like Superman".
New South Wales police said the passenger train was reportedly "slowing to stop at the station" when it crashed into a buffer at the end of the line.
Initial reports suggested the train derailed, but Sydney Trains CEO Howard Collins said it was still on its rails.
NSW police said no one was trapped in the train, as was also initially reported widely.
NSW Ambulance said around 16 people were injured, with all patients that were taken to hospital in a stable condition.
The most serious injury was a suspected fractured leg, a NSW Ambulance spokesman said.
Brett Saunders witnessed the crash just before 10am, which he described as "horrifying".
"I was on [the] platform waiting for it to stop, but it did brake and crashed at full speed into the barrier sending everyone flying like Superman. It was insane," he said.
Witness Kimberley Sullivan was going through the nearby McDonald's drive-thru when she heard a loud bang.
"[We] saw that the train had hit the end … it looked like it really slammed its brakes on," she said.
"It wasn't going very fast, about five to 10 kilometres an hour.
"We saw the part that connects to the cables came off but then went back on again."
Mr Collins described the crash as a "most unusual occurrence".
"My first thoughts are with those people who have suffered injury," he said.
"The train driver is okay, obviously serious shaken."
Mr Collins said early speculation indicated the buffer stopper worked effectively,
"[But] it's still on the rails, and not derailed," he said.
The train involved was a new Waratah train but Mr Collins said nothing indicates the other Waratahs needed to be halted for now.
A business owner whose shop is 15 metres from the station said he felt the impact.
"I heard this big bang and it shook the whole building," he said.
"I just thought, 'What the hell was that?'"
Salary negotiations between Sydney Trains and the Rail, Tram and Bus Union over pay conditions were halted when news of this morning's crash reached the meeting.