A senior police official said that several gunmen threw grenades and opened fire on worshippers around the time of Friday prayers, following which a series of explosions were heard in the Imamiyah Mosque, Press TV reports.
The attack in the restive city also injured more than 60 others, according to police and medical sources.
The death toll from the attack is expected to rise as several of those injured are in critical conditions.
No group has claimed responsibility for the attack yet.
Meanwhile, Mushtaq Ghani, information minister for Khyber Pakhtunkhwa Province, whose capital is Peshawar, said the attack was carried out in response to the Pakistani army's ongoing operation against militants along the Afghan border.
The Friday attack occurred two weeks after an explosion on a Shi’a mosque and religious center in southern Pakistan killed 61 people.
The January 30 attack took place when people were performing Friday Prayers in Shikarpur district of Sindh Province. Dozens were also wounded in the attack.
The Jundallah militant group, linked to Tehreek-e-Taliban Pakistan (TTP), claimed responsibility for the January attack.
The Pakistani army has been stepping up operations against militants following an attack on a military school that left 134 students dead last December.
Prime Minister Nawaz Sharif and military leaders have vowed to eliminate terrorism in the country.
R111/112/C