According to rescue officials, three people lost their lives on the spot, while more than 20 were wounded.
The injured and the bodies were moved to a nearby medical facility.
Confirming the death toll, Kohat District Police Officer (DPO) Suhail Khalid had said the dead included women and children also.
He said most of the victims belonged to Buner.
Rescue sources said the passenger bus was travelling from Buner to Karachi when this accident took place on Indus Highway.
Over 50 passengers were boarded on the bus.
The Khyber Pakhtunkhwa government has declared emergency in the nearby hospitals.