Most passengers in the bus were sleeping at the time of the accident, police said.
The bus was travelling from Lahore to Layyah.
The accident occurred when the driver tried to avoid crashing into a donkey cart and rammed his vehicle into a truck laden with iron bars in the opposite lane, Geo News reported.
"Nineteen people, including at least two women and two children, were killed and 16 others injured in the accident," said police official Zahoor Rana.
Deadly road accidents are common in Pakistan. Most of the mishaps are caused by reckless driving and bad roads.
At least 18 people were killed last week when a passenger bus collided with trailer in Mianwali district of Punjab.