A train travelling from Rome to Cassino stopped at the station in Roccasecca, about 130 kilometres south of the capital.
Another train, heading from Rome to Campobasso on the same track, slammed into the first train from behind at 3.20pm local time, said
Luigi Irdi, a Trenitalia spokesman.
The cause of the collision was under investigation. Television pictures on private news channel Sky TG24 showed a passenger car on top of another.
"What happened is clear, a train rammed another train," Mr Irdi said. "Why it happened is impossible to say at this time."
Two people sustained serious injuries, Mr Irdi said, adding that he did not know whether the injuries were life-threatening.
The most seriously injured was a girl of about 10 or 11 who was flown to San Camillo hospital in Rome, but officials had not been able to identify her, he said.
The Swedish Consulate was notified because a group of Swedish students were on the train, although none appeared to have been injured.
Parents missing
Earlier, a hospital official said they had admitted about "five or six" people who were critically injured in the crash.
Two people appeared to be missing - possibly the parents of a girl who was on the train, but officials were not sure whether the parents were on board.
An unknown number of people were trapped under the twisted metal of the wreckage, but all were freed by Tuesday night.
"There are no more people on the train," Mr Irdi said. "Our concern was that there were people left in the car underneath, but it seems there is no one."
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.
Though most train accidents in Italy are minor, the country has occasionally seen deadly crashes.
The most recent was in January, when a passenger train and a freight train collided head-on in northern Italy, killing 17 people.
