Two civilian passers-by were killed and eight security personnel wounded, two of them seriously, Major-General Athar Abbas, the Pakistan army's spokesman, said.
In the southwestern city of Quetta, police fired tear gas and used batons to disperse a rally by opposition parties boycotting the election.
Elsewhere on Saturday, officials said they had foiled an attack planned for polling day.
Police in the southern city of Hyderabad said they had arrested a suspected assailant equipped with a suicide jacket and explosives.
The Parachinar attack happened outside the office of Riaz Hussain, a local candidate of PPP, the party of Benazir Bhutto, who was assassinated in December.
Supporters of Hussain were going into his office after a rally when the bomber launched the attack, witnesses said.
Al Jazeera's correspondent Kamal Hyder, reporting from Lahore, said that Parachinar has been rife with sectarian clashes for a long time.
He said: "The motive of the blast may or may not be linked with the election.
"But the high death toll does point to a planned attack amid the election campaign."
The blast comes as politicians in Pakistan launched a final push for votes before the midnight (1900 GMT) deadline after which all rallies are banned.