A passenger train rammed into a stationary freight train at Walhar Railway Station in Rahim Yar Khan, in the eastern Punjab province, killing at least 20 people and injuring 78 others.
Local media is reporting that 13 people were also killed and 34 injured when a passenger bus crashed in Hasanabdal.
The bus was travelling to the eastern city of Lahore from the northwestern region of Swat and crashed on a motorway.
Survivors told reporters the bus was speeding on a wet and slippery road when it skidded and fell into a gorge.
The injured have been taken to hospital in Hasanabdal and Taxila by police and rescue teams. Officers said the number of dead may rise as five people were in a critical condition.
Hospitals declared an emergency after the train crash, according to Jamil Ahmed, an official in the provincial government.
Prime Minister Imran Khan said he was "saddened" by the news and ordered authorities to provide the best possible medical care to the victims.
He ordered railways minister Sheikh Rashid Ahmad to "take emergency steps to counter decades of neglect of railway infrastructure" and ensure safety standards.
Pakistan's army is also helping with the rescue efforts in the train crash.
Train accidents are common in Pakistan because of poor railway infrastructure and negligence by authorities, while roads and vehicles are also poorly maintained.