Security guards blocked the attacker as he tried to get close to Interior Minister Aftab Khan Sherpao after he had finished his speech at the meeting in Charsadda, an intelligence official said. The attacker detonated the bomb moments later.
Mohammed Khan, a police official, said the minister suffered minor injuries and was in stable condition. He was being shifted to a hospital in the nearby city of Peshawar.
Khan said at least 24 people were wounded, at least 10 critically.
Khan said the son of Sherpao, Sikandar Khan Sherpao, and some lawmakers and security officials were among the injured.
The intelligence official, who spoke on the condition of anonymity because of the sensitive nature of his job, said investigators had found the head of the suicide bomber. He had no details on the attacker's identity.