Multiple cars derailed and at least three burst into flames after the collision near the town of Tempe on Tuesday just before midnight.
Survivors said several passengers were thrown through the windows of the train cars due to the impact.
They said others fought to free themselves after the passenger train buckled, slamming into a field next to the tracks near a gorge about 380 kilometres north of Athens where major highway and rail tunnels are located.
“There were many big pieces of steel,” Vassilis Polyzos, a local resident who was one of the first people on the scene, said.
“The trains were completely destroyed, both passenger and freight trains.”
He said dazed and disoriented people were escaping out of the train’s rear cars as he arrived.
“People, naturally, were scared — very scared,” he said.
“They were looking around, searching; they didn’t know where they were.”
The trains crashed just before the Vale of Tempe, a gorge that separates the regions of Thessaly and Macedonia. Costas Agorastos, the regional governor of the Thessaly area, told Greece’s Skai television the two trains crashed head-on at high speed.
“Carriage one and two no longer exist, and the third has derailed,” he said.
Rescuers wearing headlamps worked in thick smoke, pulling pieces of mangled metal from the cars to search for trapped people.
Others scoured the field with flashlights and checked underneath the wreckage. Several of the dead are believed to have been found in the restaurant area near the front of the passenger train.
Hospital officials in the nearby city of Larissa said at least 25 of those hurt had serious injuries.
“The evacuation process is ongoing and is being carried out under very difficult conditions due to the severity of the collision between the two trains,” Vassilis Varthakoyiannis, a spokesperson for Greece’s firefighting service, said.
The possible cause of the collision was not immediately clear. Two rail officials were being questioned by police but had not been detained.
Passengers who received minor injuries or were unharmed were transported by bus to Thessaloniki, 130 kilometres to the north. Police took their names as they arrived, in an effort to track anyone who may be missing.
A teenage survivor who did not give his name told reporters that just before the crash he felt strong braking and saw sparks and then there was a sudden stop.
“Our carriage didn’t derail, but the ones in front did and were smashed,” he said, visibly shaken.
He added that the first car caught fire and that he used a bag to break the window of his car, the fourth, and escape.
Rail operator Hellenic Train said the northbound passenger train from Athens to Thessaloniki, Greece’s second-largest city, had about 350 passengers on board.
Agorastos described the collision on state television as “very powerful” and said it was “a terrible night.”
“The front section of the train was smashed. … We’re getting cranes to come in and special lifting equipment clear the debris and lift the rail cars. There’s debris flung all around the crash site.”
Officials said the army had been contacted to assist.
Hellenic Train, which has added highspeed services in recent years, is operated by Italy’s FS Group, which runs rail services in several European countries.