Police said a fire erupted in the van carrying 24 children between the ages of five and 12 years, just a few kilometers from their school.
A spark, caused when the driver of the dual-fuel van switched from natural gas to petrol, is said to have started the blaze.
Distraught parents gathered at the hospital where doctors said only four bodies had been identified. The rest were charred beyond recognition and would have to be identified through DNA tests.
Two seriously injured children were moved to a hospital in Lahore while other survivors were being treated in a hospital in Gujrat, some 70 miles north of Lahore.
They were saying: ‘Brother, save us, save us. We are burning’. 12-year-old survivor
Two older children – a boy and a girl – sitting in the back seat miraculously escaped by jumping out of the rear window. They told reporters they had told the driver they could smell gas in the bus.
“We were sitting in the back of the bus. We all got out. Uncle (bus driver) and teacher were trying to take the others out of the bus but they could not be saved”, the 12-year-old girl said.
The boy said he tried breaking the windows with a stick as children inside the bus called for help.
“They were saying: ‘Brother, save us, save us. We are burning.’ I took a huge stick and broke the glass. I tried to save them but I could not do so”, he said.
Some reports said the driver of the bus had escaped and police were conducting raids to arrest him.
Many vehicles in energy-starved Pakistan are powered by relatively cheap compressed natural gas and cylinder blasts are common