The attack targeted a paramilitary vehicle outside a government compound in the Jamrud area of the region, official Shaukatullah Afridi, who was meters away from the blast, told Reuters.
"I had just entered the office and sat on my chair when I heard a huge blast," Afridi said.
"It seemed as if the whole building had collapsed."
Afridi`s office is on the road leading from the city of Peshawar, through the Khyber Pass, to the Afghan border.
At least 42 wounded people were taken to hospital in Peshawar, about 20 km (12 miles) to the east, hospital doctor Noor Wazir said, adding the death toll could rise.
The Pakistani Taliban are allied with the Afghan Taliban and fighting Pakistani government forces in the hope of establishing strict Islamist rule.
Representatives of both the Pakistani Taliban and Lashkar-e-Islam claimed to have carried out the attack.
Pakistani Taliban spokesman Mohammad Khorasani said in a telephone call to Reuters the attack was revenge for government operations against them.
Lashkar-e-Islam spokesman Salahuddin Ayubi also telephoned Reuters, claiming that his group had carried out the attack.
Hundreds of militants have been killed in ground fighting and air strikes, the military says. Some soldiers have also been killed.
Reuters has been unable to independently verify casualty figures as access to the area has been strictly controlled.
Hundreds of militants are said to have taken refuge in Khyber after fleeing a military offensive against their stronghold of North Waziristan, along the Afghan border to the south, that began in June last year.
At their height, the Pakistani Taliban controlled swathes of territory in the northwest, but they have been beaten back by repeated military operations since 2009.
They now operate in smaller pockets in ethnic Pashtun areas near the Afghan border, from where they launch bombings and other attacks on Pakistani forces and other targets.
More about: