At least 21 people, including 19 children, were killed in Pakistan when a school bus crashed head-on into a truck.

The bus collided with the loaded dump-truck near the town of Nawabshah, around 270km north of Karachi in the southern province of Sindh.

The children, who were students of the Bright Future School from the nearby town of Daulatpur, had travelled to Nawabshah for a school trip.

The bus was on the way back to Daulatpur when the accident happened.

Doctor Hashim Langa, chief of the Civil Hospital in Nawabshah, said the hospital had received 21 bodies and 19 of them were children.

"Their ages range from five or six to 16," he said. 

Apart from the dead, around 15 to 20 injured people were also brought to the hospital, seven of whom are in intensive care and neurological wards, Dr Langa said.

Police said they are trying to locate the driver of the truck who fled the scene.

Senior police officer Asif Ali Pechuho said the driver of the school bus is among the dead.