The bus was descending a steep road along Marcos Highway near the town of Tuba when it slammed into a high riprap embankment and flipped over.
The Byron Bus, with license plates AVD 800, which was headed for Mangaidan town in Pangasinan, was a complete wreck, with its roof torn off.
Police said an initial investigation indicated that the bus had a brake problem but reckless driving was also being considered as the cause.
Inspector Johnny Gaspar of the Tuba police said the stretch of road is notorious for accidents.
Among those killed were the driver identfied only as Aldo, the bus conductor and a child. Police said most of the victims were probably killed instantly when the bus overturned.
Twenty-four of the people were killed on the spot while three others died at a hospital in Baguio City, 10 kilometers away.
All of the injured were taken to Baguio City Medical Center. Seven were in critical condition.
Most of the fatalities suffered massive head fractures, said Baguio forensic officer Dr. John Tinoyan.
Rescuers sifted through the wreckage while bodies lay on the ground and were covered with bright colored plastic bags.
As of last night, only eight of the fatalities had been identified: bus conductor Dindo Dulay, Ricardo Aduan, Cristina Natabio, Mapario Incarnacion, Fernando Bernardo, Balacon Ninalaga, Alfred Baculcol and Florentino Fernandez.
Road accidents are common in the country because of a lack of road signs, dangerously dilapidated vehicles and reckless drivers. With Cecille Suerte Felipe, AFP, AP