Television images showed ambulances rushing to the site at the privately-run Al-Khair Education Center school while rescuers pulled bloodied students from the rubble.
"We have taken out at least 45 children," said district emergency officer Iftikhar Khan, adding that some more children were reported to be buried in the rubble.
Rescue teams were working to extricate bodies and take the injured to hospital, said government official Bilal Faizi.
Twenty injured and most of the dead were brought to the city's Lady Reading Hospital, its spokesperson, Mohammad Asim, said.
A rescue official said the ceiling came down on the students after the roof of a higher floor collapsed, crumpling the two storeys.
Authorities said an investigation had been ordered to determine the cause.
Peshawar police chief Mian Saeed said he feared the death toll could rise as just 47 of the 110 students in three classrooms at the time had been rescued.
"It was a weak building structure," Saeed added. "Its roof was overweight with construction on a weak structure that caused the collapse."
There was no immediate comment from school officials.
(Reporting by Islamabad bureau; Writing by Hritam Mukherjee and YP Rajesh; Editing by Clarence Fernandez)
%2Ffile%2Fattachments%2F2999%2F14365180_620629.jpg&w=1440&q=75)