A policeman tried to search the attacker as he approached the press club's gate, but the man resisted and was able to trigger his explosives, killing the officer and an accountant who worked for the organization, said Peshawar's police chief, Liaquat Ali Khan.
A third person - a woman who was at the site of the attack - apparently died of cardiac arrest, said Sahib Gul, a doctor at a hospital in Peshawar where the bodies were brought.
Adil Khan, a local photographer who was inside the press club when the attack occurred, said he heard the police officer at the gate, Muhammad Riaz, trying to force the bomber to submit to a search.
"Suddenly a big explosion occurred and smoke made me unable to see immediately what happened," said Khan. "After a while, I saw Riaz and accountant Mian Iqbal lying dead in a pool of blood and there were some scattered body parts."
Seventeen other people were injured in the attack, many of whom were traveling in a bus that was passing the press club when the explosion occurred, said Gul.
The blast blew out the press club's windows and peppered the walls with shrapnel, while also damaging several surrounding buildings.
Peshawar has been hit by at least seven attacks in the past two months in retaliation for a military offensive launched in mid-October against the militant stronghold of South Waziristan in Pakistan's lawless tribal area near the Afghan border. A single attack in late October in a market popular with women and children in Peshawar killed 112 people.
The Peshawar Press Club targeted in Tuesday's attack is a well known landmark in the city, and many journalists congregate there.
"Journalists have played a vital role in our war by exposing the terrorists, so they are on the target list too like mosques, bazaars and security institutions," said Mian Iftikhar Hussain, the information minister for Northwest Frontier Province, of which Peshawar is the capital.
A provincial labor minister had been scheduled to hold a news conference at the club later Tuesday, said the organization's president, Shamim Shahid.
He praised Riaz, the police officer who prevented the bomber from entering the building.
"The policeman averted a major incident by sacrificing his life," said Shahid.
The chief minister of the province, Amir Haider Khan Hoti, described the bombing as an attack on press freedom.
"We salute the media for ... exposing militants and their acts against innocent people," he said, adding that "terrorists are becoming desperate as they know they are losing this war, so they are attacking the media directly."