The bus, carrying passengers home from the central Punjab province to the Kalam hill station in Swat district, crashed on the roadside close to a river in the early hours of Tuesday.
"Sixteen people have been killed in the accident including 10 children and five women. Seven other passengers have been injured," Mehmood Asalam, a senior administration official in Swat, said.
"We don't know any reason for the accident at the moment. It may have been caused because driver slept while driving," said Aslam.
Local police official Shakeel Khan confirmed the death toll, and said that the injured had been taken to a local hospital.
"The injured included three men, as many women and a child," said Khan.
Pakistan has one of the world's worst records for fatal traffic accidents, blamed on poor roads, badly maintained vehicles and reckless driving.