You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
Police have confirmed the female driver died in the crash. The train driver was uninjured but was left shaken by the incident.
The bus had been heading for Feilding High School and the crash took place at a level crossing at Bunnythorpe about 8am.
A nearby resident said it appeared the front of the school bus was hit by the train, while a witness said the crossing's barrier arm "looked mangled".
A total of 41 people were on board the bus, police said. Some children had to be pulled from the wreckage through a window.
"No students were seriously injured as a result of the crash but some were transported to Palmerston North Hospital by St John staff with moderate to minor injuries.
"We acknowledge this was an extremely distressing incident for all those involved, including the students and their families and the family and friends of the deceased."
A St John spokeswoman said six people were taken to hospital, with injuries ranging from minor to moderate,
The crash has forced the closure of the North Island main trunk line between Marton and Palmerston North.
Emergency services were called to the intersection of Railway Rd and the Clevely Line, in Bunnythorpe, just after 8am.
KiwiRail Group chief executive Greg Miller said he "shocked and saddened" to learn of the crash.
"KiwiRail staff are on site, working with emergency services and supporting the train driver, who is physically unharmed but naturally shaken by the incident.
"We will work closely with agencies in any investigation but for now the priority is allowing emergency services to do their job."
KiwiRail would be offering support to the schools involved and the bus company, Miller said.
The level crossing was equipped with flashing lights and bells.