Palu and the surrounding region have been hit by about 100 aftershocks since Friday’s tremors, officials said.
The quake hit just off central Sulawesi at a depth of 10 kilometres just before 1100 GMT — early evening in Sulawesi — the US Geological Survey said. Such shallow quakes tend to be more destructive.
Pictures supplied by the disaster agency showed a badly damaged shopping mall in Palu where at least one floor had collapsed onto the storey below, while other photographs showed major damage to buildings and large cracks across pavements.
The agency also said homes and a local hotel were flattened while a landmark city bridge was destroyed.
A key access road had been badly damaged and was blocked by landslides, the disaster agency said.
The main airport in Palu, capital of South Sulawesi province, was shut after the tsunami struck and was expected to stay closed for at least 24 hours, complicating any disaster relief efforts.
Friday’s tremor was also felt in the far south of the island in its largest city Makassar and on neighbouring Kalimantan, Indonesia’s portion of Borneo island.
The initial quake struck as evening prayers were about to begin in the world’s biggest Muslim majority country on the holiest day of the week, when mosques are especially busy.
Indonesia is one of the most disaster-prone nations on earth.
It lies on the Pacific “Ring of Fire”, where tectonic plates collide and many of the world’s volcanic eruptions and earthquakes occur.
Earlier this year, a series of powerful quakes hit Lombok, killing more than 550 people on the holiday island and neighbouring Sumbawa.
Indonesia has been hit by a string of other deadly quakes including a devastating 9.1 magnitude tremor that struck off the coast of Sumatra in December 2004.
That Boxing Day quake triggered a tsunami that killed 220,000 throughout the region, including 168,000 in Indonesia.
In 2010, about 430 were killed when a huge quake sparked a tsunami off the coast of Sumatra, while more than 600 were killed in a quake-tsunami disaster on Java island.