The crash, involving a Karachi-Lahore express train, happened on a level crossing near Sheikhupura, in Punjab province, police said.
Most of the dead are said to be from one family, on their way home from Nankana, one of the Sikh religion's main sites. Ten others were hurt.
There are not thought to be any train passengers among the casualties.
The accident comes after a string of recent fatal accidents on Pakistan's railways.
More than 70 people died when a Karachi-Rawalpindi train caught fire during its journey in November last year.
It was just one of more than 100 railway-related incidents in the country in 2019.