The pink bus was pockmarked with bullet holes and blood saturated the seats and dripped out of the doors on to the concrete.
“As the gunmen climbed on to the bus, one of them shouted, ‘Kill them all!’ Then they started indiscriminately firing at everyone they saw,” a wounded woman told a television channel.
Police superintendent Najib Khan said there were six gunmen and that all the passengers were Ismailis, a minority Shi’ite Muslim sect. Pakistan is mostly Sunni.
Militant group Jundullah, which has attacked Muslim minorities before, claimed responsibility. The group has links with the Pakistani Taliban and pledged allegiance to Islamic State in November.
“These killed people were Ismaili and we consider them kafir [non-Muslim]. We had four attackers. In the coming days we will attack Ismailis, Shi’ites, and Christians,” spokesman Ahmed Marwat said.
At least 43 people had been killed and 13 wounded, according to police.
Outside the hospital where the wounded were taken, and where the bus was parked, scores of grim-faced young men formed a human chain to block everyone but families and doctors.
Prime minister Nawaz Sharif said he was saddened by the attack. “This is a very patriotic and peaceful people who have always worked for the well-being of Pakistan. This is an attempt to spread divisions in the country.”