A train carrying passengers has crashed into a buffer at the end of Richmond station, with at least 20 people injured and five in a serious condition.
Brett Saunders witnessed the crash just before 10am, which he described as "horrifying".
Early reports suggested the train had derailed but Howard Collins, the head of Sydney Trains, told ABC News that was not the case.
Train services have been suspended between Richmond and Clarendon in both directions.
The train was reportedly slowing to stop at the station.
The most serious injury was a suspected fractured leg, a NSW Ambulance spokesman said. Paramedics working at the scene treating multiple injuries and 3 rescue helicopters are also at the scene at nearby Richmond Oval.
Train unions say they will push ahead with a planned strike next week after they failed to reach a deal with Sydney and New South Wales Trains management during late-night talks over pay and conditions.
Fifteen people are injured - three seriously - following a collision near Sydney which left some passengers trapped in a carriage.
One caller to the radio station who saw the crash said there was an "almighty bang".
"My first thoughts are with those people who have suffered injury", he said. "There was a huge amount of dust", he said.
A number of injured passengers and two employees, including the driver, have been treated.
The NSW transport minister, Andrew Constance, said investigators from the Office of Transport Safety Investigations, the Office of National Rail Safety Regulator and Safe Work NSW would work to determine the cause of the accident.