The explosion took place outside the Marco Polo hotel in an area frequently visited by Mr Duterte, who was in Davao at the time but was not hurt.
Pictures released show broken glass and plastic chairs scattered at the scene, which has since been cordoned off by police bomb experts and investigators.
Mr Duterte has declared a "state of lawlessness" following the incident, which he said would allow troops to be deployed in cities and assist police with checkpoints.
He said: "These are extraordinary times and I supposed that I'm authorised to allow the security forces of this country to do searches."
A spokesman for the militant group Abu Sayyaf has claimed responsibility for the attack, but the president said authorities are considering the possibility that drug syndicates were behind it.
The region has been under a heightened security alert in recent weeks because of a military offensive against Abu Sayyaf.
Regional police chief Manuel Guerlan said a ring of checkpoints had been placed around the city's exit points.
"A thorough investigation is being conducted to determine the cause of the explosion," he said. "We call on all the people to be vigilant at all times.