The bus is said to have been taking the workers to their offices when it was hit on the outskirts of the city of Peshawar.
Peshawar lies near Pakistan’s lawless tribal belt – a stronghold of Taliban and al-Qaeda militants.
Hundreds have died in attacks in and around the city in recent years.
No group has so far said it carried out the latest attack, but it comes a day after a bomb killed at least 15 people in the Pakistani city of Quetta.
It is believed explosives were planted in a roadside vehicle and remotely detonated as the bus passed on Friday.
Witnesses said the explosion seemed to hit the back of the bus, which was moving at speed and drove on for some distance after the blast.
Police say the bus was carrying employees from Peshawar to Charsadda and that it appeared to be the target of the attack.
The explosion took place near a police station on a main road in the Gul Bela village area, on the northern outskirts of Peshawar.
The dead and injured were rushed to hospitals in Peshawar. The dead are thought to include at least four children and some women.
Image source: Wikimedia Commons President-elect Donald Trump celebrated his election victory at the Ultimate Fighting…
Millions of voters across the US chose to return Donald Trump to the White House…
Donald Trump declares victory in the US election as he addresses jubilant supporters in Florida.…
Stocks around the world are rising as Donald Trump appears to be on the cusp…
Donald Trump has won Pennsylvania, North Carolina and Georgia and taken a lead over Kamala…
Quincy Jones, the celebrated musician and producer who worked with Michael Jackson, Frank Sinatra, Ray…