No tsunami warning was issued and there were no immediate reports of major damage.
The magnitude 5.8 quake hit just after 6 a.m. local time (2300 GMT) 45 miles (75 kilometers) south of Denpasar, the island's capital, the U.S. Geological Survey said. Indonesia's Meteorological and Geophysics Agency put the quake at a more powerful 6.4 magnitude.
Seven people were treated for head injuries and broken bones at Sanglah Hospital in Denpasar, said Dr. Ken Wirasandi, adding that women and children had run from their homes screaming when the ground began to rattle.
"I was frightened because it was strong," said Ernst Raynaldo, a tourist from the Netherlands who was staying at the Kuta beach strip. "I ran out immediately as I saw many others rushing into the swimming pool," which was the closest open space.
The Bali quake comes just two weeks after a larger tremor on the main Indonesian island of Java killed of left missing nearly 100 people and ruined thousands of homes.
Indonesia, a vast archipelago, straddles continental plates and is prone to seismic activity along what is known as the Pacific Ring of Fire. A huge quake off western Indonesia caused a powerful tsunami in December 2004 that killed about 230,000 people in a dozen countries, half of them in Aceh province.