REUTERS/Alessandro Garofalo Crumpled wagon cars are seen after the accident.
Giuseppe Corrado, deputy head of Andria Province, told ANSA that 20 people were killed. Italian President Sergio Mattarella offered his condolences and thoughts to the victims and their families.
Corato Mayor Massimo Mazzilli said debris was scattered all over the countryside.
Numerous passengers on one of the trains were students heading to lessons at the University of Bari or travellers on their way to Bari worldwide airport.
The two trains were on the same track located between the towns of Andria and Corato in the Puglia region of southern Italy.
"We won't stop until we clarify what happened", Italian Prime Minister Matteo Renzi said.
"Tears and grief for the victims and their families, but also a lot of anger".
The crash happened at about 11:05 a.m.in the Puglia region, said Maria Rondenodnone, a volunteer firefighter.
The image of the crash site, being circulated on social media.
The Italian government has promised a full and swift investigation.
At least two passengers were pulled alive from the crumpled wreckage as the rescue operation ground on in the scorching heat.
National police and carabinieri could not immediately provide details about the extent of the crash.
"I believe there are many dead", said Riccardo Zingaro, captain of the Andria fire brigade.
Coroner Franco Introna told the Ansa news agency that 22 bodies were at the morgue, with a 23rd expected to arrive later from Andria.
An aerial image showed the front carriages of each train completely smashed by the head-on collision.
The incident occurred next to olive groves between the towns of Ruvo di Puglia and Corato.
"It was the most bad scene I've seen in my life", said a police officer at the crash site. At least a dozen people have been confirmed dead, according to firefighters.
Each of the trains was formed by four wagons, and the first two wagons of each train were the hardest hit.
"There were bodies parts, blood, bits of people", one elderly lady told local TV channel Telesveva. He added that 20 people have been killed and four "seriously" injured. But at the hospital they have no news.
There have been a growing series of accidents in the 21st century, however, with the 2002 derailing in Rometta Messina, killing eight, and a head-on collision between a passenger and a freight train near Crevalcore, which killed 17 in 2005.
"We are working with dozens of rescue teams to open up the carriages", said Luca Cari, a fire department spokesman. The unidentified woman said she was able to rescue her husband and that she saw people cut to pieces.
Only five of the victims had identity documents on their person, the rest presumably in wallets or bags sent flying across carriages on impact, making it more hard for authorities to name the dead, La Stampa said.