The quake was centred 61 km south-west of Davao, at a depth of 28.2km, the US Geological Survey said, revising down the magnitude from an earlier 6.9.
Roads and buildings, including the local government office, were damaged and power was out in the Magsaysay Town in Davao del Sur province, near the epicenter.
No tsunami warning has been issued.
The area was struck by four strong earthquakes in the past two months, causing the death of at least 20 people.
According to presidential spokesman Salvador Panelo, President Rodrigo Duterte was in Davao city when the quake struck, but he and his family members were unhurt.