This article is more than
8 year oldMany more people are injured and some are in a critical condition. Local authorities have appealed for people to give blood.
Mr Renzi has ordered an official investigation in to the crash, which happened on Tuesday morning.
The trains were on a single-track line between the towns of Bari and Barletta.
It was unclear what led to the collision, which happened in good weather at 11:30 local time (09:30 GMT) in the southern region of Puglia.
Rescue workers from the emergency services have been trying to free passengers from the shattered carriages and one small child was pulled out and airlifted to hospital.
Mr Renzi said it was "a moment for tears".
He said: "I want to express my condolences to the families and I have ordered, with no holding back, an inquiry to find who is responsible.
"I think we must have absolute clarity on this. We will not stop until we understand what happened."
Italy's President Sergio Mattarella said the crash was "an unacceptable tragedy" and his "first thought" was with victims and their families.
Under floodlights, heavy machinery is pulling pieces of wreckage from the line as rescue teams check for any more bodies.
It looks like the recovery effort will continue round the clock.
Even the army has been brought to the olive groves on this remote stretch of rural line.
From some of the carriages there is very little left that is recognisable - this was a powerful, sudden impact at high speed.
This line is privately run with a decent safety record. So the key question is how did two trains end up on the same piece of track speeding towards each other?
Both trains had four carriages and some were so badly damaged by the crash that there was little left but debris.
"I saw dead people, others who were begging for help, people crying. The worst scene of my life," one policeman told journalists.
Italian media reported that the first named victim was a 53-year-old policeman called Fulvio Schinzari, whose body was found by a fellow policeman who was helping the rescue services.
In total, about 200 were involved in the rescue operation, working in temperatures up to 40 degrees C (104 degrees F).
June 2009: Freight train carrying liquefied petroleum gas derails in Viareggio, causing a large explosion. More than 30 people die
January 2005: A head-on collision between a passenger and a freight train near Crevalcore kills 17
July 2002: A passenger train derails in Rometta Messina, killing eight people
April 1978: Two trains collide near a ravine next to Murazze Vado. Some of the carriages fall into the gorge, killing 42