"The suicide bomber came in a car and exploded it when the mayor was standing with some visitors outside his guesthouse near the local livestock market," Sahibzada Anis, the district administration chief, told AFP.
The Taliban said it was avenging efforts by Abdul Malik to fight the group's members.
"We accept the responsibility for the Peshawar suicide attack," Azam Tariq, a Pakistani Taliban spokesman, said.
"Abdul Malik has met his fate, and if anybody else dares to raise a lashkar against us, he will be dealt [with] in [the] same manner."
Hospital officials said that two children were also among the dead.
Imran Khan, Al Jazeera's correspondent in the Pakistani capital, Islamabad, said: "The damage could have been so much worse [but for] the fact that this wasn't a built-up residential area.
"This was an open field - a cattle market. So although the death toll was very high at 13 ... it could have been so much worse, as we have seen in Peshawar.
"An emergency has been declared at the local hospital where we have spoken to doctors. They told us, 'We are exhausted'."
Anti-government Taliban fighters have struck numerous times in Pakistan in recent weeks, killing more than 300 civilians and soldiers.
The attacks appear to be aimed at weakening the government's resolve to continue a military operation against Taliban groups and al-Qaeda fighters in South Waziristan, their main bastion, on the Afghan border.
More than 100 people were killed last month alone in a car bombing in Peshawar that was marked as the deadliest attack in the country in two years. The Taliban said it did not carry out the October attack in Peshawar.