A train traveling from Rome to Cassino had stopped at the station in Roccasecca, about 80 miles south of the capital, when another train coming from Rome on the same track slammed into it from behind, said Luigi Irdi, spokesman for Italy's state railway, Trenitalia.
"Firefighters are cutting though the metal to free some people," Irdi said.
Irdi said at least 30 people were injured, four of them seriously. A hospital said it admitted about six critically injured people. Police in nearby Frosinone said no one had been killed.
The most recent deadly rail crash was in January, when a passenger train and a freight train collided in northern Italy, killing 17 people.
It was the second train crash in Europe in two days. On Monday, a commuter train collided with an oncoming passenger train in southern Poland, injuring at least seven people.