Television footage showed mangled and overturned carriages, and media reported rescuers were working to free people trapped in the wreckage.
Train traffic between Karachi, Pakistan's biggest city, and the rest of the country was suspended after the collision near the city's Landhi station, television news channels reported.
Sixty-five people were injured in the collision, said Seemin Jamali, head of the emergency department at Karachi's main Jinnah hospital.
The collision occurred between the moving Zakaria Express and the stationary Fareed Express, the railways ministry said.
Minister Khwaja Saad Rafique pointed at negligence as a possible cause, with a stop signal being ignored. The whereabouts of the driver and assistant driver of the Zakaria Express were unknown, he said.
He ordered an investigation which would be completely within 72 hours.
"Facts will be brought forward, and whoever is responsible will not escape legal action and punishment," he said.
In September, at least four people were killed and 93 injured when an express train collided with a freight train near the city of Multan in Punjab province.
Pakistan's colonial-era railway network has fallen into disrepair in recent decades due to chronic under-investment and poor maintenance.