In addition to the 21 dead, the nine others aboard the bus were seriously injured, said a spokesman at Pelabuhanratu hospital, Taufik, who uses one name.
Local police spokesman Trunoyudo Wisnu Andiko said the bus plunged into the 30-meter (98-foot) -deep ravine after the driver lost control of the vehicle in an area with a number of sharp inclines.
He said it was the last of four buses carrying employees of the PT Catur Putra Group who were reportedly on an outing to a rafting location near Pelabuhanratu.
Road accidents are common in Indonesia due to poor safety standards and infrastructure.
In February, 27 people were killed when a packed tourist bus returning from an outing plunged from a hill in Subang in West Java province. Two months later, two accidents in West Java’s hilly resort region of Puncak killed at least 15 people.