The 6.8 magnitude quake struck offshore at a depth 42 kilometres (26 miles), some 150 kilometres (90 miles) from Labuan, southwest of the capital Jakarta, according to the United States Geological Survey.
Indonesia's disaster agency initially pegged the quake at magnitude 7.4 and a depth of 10 kilometres, warning it could spark a tsunami.
Residents in Jakarta fled their homes as buildings in the megacity swayed from the force of the quake.
"The chandelier in my apartment was shaking and I just ran from the 19th floor," 50-year-old Elisa told AFP.
"Everybody else ran too. It was a really strong jolt and I was very scared."
At least two people were killed and thousands were forced from their homes after a major 7.3-magnitude earthquake hit the remote Maluku islands in eastern Indonesia this month.
Indonesia experiences frequent seismic and volcanic activity due to its position on the Pacific "Ring of Fire", where tectonic plates collide.
Last year, a 7.5-magnitude quake and a subsequent tsunami in Palu on Sulawesi island killed more than 2,200 people, with another thousand declared missing.
On December 26, 2004, a devastating 9.1-magnitude earthquake struck off the coast of Sumatra and triggered a tsunami that killed 220,000 across the Indian Ocean region, including around 170,000 in Indonesia.