Corporal Rene Prajele, who was carrying his army-issued M-16 rifle, stopped the bus in a farming area about 300 kilometres from the Philippine capital, said police spokeswoman Maria Luisa Calubaquib.
She said Prajele was angry over suspicions his wife was cheating on him, but gave himself up without any violence after negotiations with his army superior.
"He was heavily burdened, that's why he did it," Calubaquib told AFP.
Police said the hostage-taking caused a 20-kilometre-long traffic jam on a highway in Del Gallego, the farming town where the bus stopped after the initial hijacking.
In 2010, a disgraced policeman held a bus full of Hong Kong tourists hostage in downtown Manila. Eight people were killed in a botched rescue, straining ties between the Philippines and Hong Kong.
