The bombing in Peshawar, which wounded another 120 people, underlines the threat posed by Islamic extremists as the government seeks a peace deal with domestic Taliban militants.
It occurred as hundreds of worshippers were coming out of the church in the city's Kohati Gate district after services to get a free meal of rice offered on the front lawn, said government administrator, Sahibzada Anees.
It was not clear whether one or two suicide bombers carried out the attack.
Witnesses said they heard two blasts, the second more powerful than the first.
"There were blasts and it was hell for all of us," said Nazir John, who was at the church. "When I got my senses back, I found nothing but smoke, dust, blood and screaming people."
There were at least 400 worshippers at the church when the attack occurred, said Mr John.
The white walls of the All Saints Church were pockmarked with holes likely caused by ball bearings or other metal objects contained in the bombs.
The number of casualties from the blasts was so high that the hospital was running out of caskets for the dead and beds for the wounded, said Mian Iftikhar Hussain, a former information minister of surrounding Khyber Pakhtunkhwa province who was at the scene.
No one has claimed responsibility for the attack, but suspicion fell on one of the country's many Islamic militant groups. Islamic militants have been blamed for previous attacks on the country's Christian minority, as well as Muslim groups they consider heretics.