Witnesses described watching in horror as one train sped into the city's Quaidabad Railway Station and rammed into the second, which was parked there, with the roar of the crash swiftly followed by the screams of people trapped inside.
Rescuers armed with metal-cutting equipment and heavy cranes were fighting to reach passengers still trapped in the twisted wreckage. They were joined by the military and police, an AFP journalist at the site of the crash said.
The engine of one train appeared destroyed, he said, but the exact extent of the damage was unclear.
A senior administration official in Karachi said there could have been up to 1,000 passengers in total on board the trains when the accident occurred.
‘At the moment, we don't know the exact number of casualties but there could be up to 1,000 passengers in both trains,’ Nasir Nazeer, district coordination officer in Karachi told AFP.
‘We have sent heavy machinery and cutting equipment to remove the overturned cars from the track and rescue the trapped passengers inside the coaches,’ he said.
Seemi Jamali, spokeswoman at Karachi's Jinnah Hospital, told AFP at least 17 people had died. Earlier she said the hospital had received some 50 wounded.
The accident occurred when the incoming ‘Zakria Express’ from the central city of Multan rammed into the ‘Fareed Express’, from Lahore, as it waited at Quaidabad Station, also known as Jumma Goth, in the Landi neighbourhood of Karachi.
Factory worker Ajab Gul told AFP he was on his way to work when the accident occurred.
‘Suddenly another train came speeding in and smashed into the parked train,’ he said, describing the sound of the crash as ‘huge’.
‘There were clouds of dust and smog. After that we heard screams. People inside the collided trains were screaming and crying.’
Onlookers rushed to their aid, he said, adding that he had helped pull 17 people, including women and children, from the wreckage.
But, he added, ‘there were many other people trapped inside... we could not get them out.’
Train services from Karachi to the rest of the country have been suspended.
Train accidents are common in Pakistan, which inherited thousands of miles (kilometres) of track and trains from former colonial power, Britain.
The railways have seen decades of decline due to corruption, mismanagement and lack of investment.
Thursday's crash was the second this year involving the Fareed Express. In February the northbound train hit a van at a crossing in southern Pakistan, killing eight people from the same family.
Railway accidents in Pakistan often take place at the unmanned crossings, which often lack barriers and sometimes signals.
In September four people were killed and more than 100 injured when two trains collided near the central city of Multan.
The accident occurred when the Karachi-bound ‘Awam Express’ passenger train rammed into a goods train that had stopped after running over a man near the city of Multan.