"A man came into Momin town and opened fire on a house," Ghayur said.
"There was retaliatory fire from the house and in the cross-fire the suicide bomber blew himself up.
"Two ladies and one man were killed and 15 are injured. Among the 15 injured, four are children," he said.
The blast was the second bombing in the city in two days.
Mubeen Afridi, a spokesman for the Ansar-ul-Islam armed group, and his driver were killed by a remote-controlled bomb a day earlier.
Ansar-ul-Islam fighters operate in Khyber tribal district near the border with Afghanistan.
Ghayyur said police suspect that Lashkar-e-Islam, a rival group, could be behind Saturday's attack.
The government last year launched a major operation against groups in Khyber which sent their leaders moving into the mountains bordering Afghanistan, after the militants threatened to take over Peshawar.