The accident happened shortly after midnight at an intersection in Abulug municipality in Cagayan Province.
The Toyota Hilux carrying 14 people reached an intersection with a major highway and hit the bus, police said.
Only three people in the pick-up survived, police Major Antonio Palattao told AFP.
There were no fatalities on the passenger bus, but the driver and conductor were seriously hurt and 23 others suffered minor injuries, he said.
"The driver of the Toyota Hilux is not well-oriented with the area and was not aware they were already approaching a highway," police Captain Jun-jun Torio told AFP.
"Naturally, you slow down when approaching one."
Deadly road accidents are common in the Philippines, where drivers frequently flout the rules and vehicles are often poorly maintained or overloaded.