A train driver was killed when his train hit a crane on a level crossing near the Dutch town of Dalfsen.
The passenger train derailed, tilted over and went into a field, leaving several carriages lying on their sides.
The hydraulic crane had been crossing the line east of the city of Zwolle, when the train crashed into it at full speed, the local mayor said.
Five people were hurt, and another suffered serious injuries. Police have detained the driver of the crane.
Mayor Han Noten told Dutch media that 15 people had been on board at the time of the crash, shortly before 09:00 (08:00 GMT).
It was extremely fortunate that the number of casualties was not higher, he said.
"In the evening rush-hour this train is completely packed, whereas at the time [of the crash] it was all but empty," he added.
"I was sitting at my kitchen table working, I heard a bang and looked up. I saw a train sliding off the rails," said Astrid Kempers, who lives a short distance from the track.
Another witness, Ria van der Ham, described seeing the crane being driven very slowly over the level crossing after it had waited for one train to pass.
"But then a train came from the other side and caught him full on," she said.
Emergency services said some managed to clamber out of the carriages but they were searching the wreckage for anyone still trapped.
The train had been heading east from Zwolle, RTV Oost reported. Local services on the line were likely to be disrupted for the rest of the day while an investigation was carried out by the Dutch Safety Board.
Police said they had detained the crane driver, who had managed to jump clear shortly before the accident. He was being investigated in connection with a criminal inquiry, they said.
Little was left of the crane's cabin after the crash.
There were 30 accidents on Dutch level crossings in 2015 which claimed the lives of 13 people, reports said.