“There were six attackers. They boarded the bus and carried out the shooting,” Police Superintendent Najib Khan told Reuters.
English-language Pakistani outlet Dawn reported that at least 13 more were injured.
The bus was carrying members of the minority Ismaili Shiite community, who were traveling through the Safoora Chowk area of the city to a community centre, provincial police chief Ghulam Haider Jamali told the Associated Press.
Jamali told Dawn the bus was carrying 60 people, and the attackers used 9mm pistols in the attack.
He added they sprayed the passengers with bullets, before riding away on three motorcycles.
Footage on local TV showed a pink bus covered in bullet holes.
Jundullah — a splinter group of the Pakistani Taliban — claimed responsibility for the attack. Spokesman Ahmed Marwat told Reuters: “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.”