Another 10 people were injured in the crash in the municipality of Atoyac in the eastern state of Veracruz, officials said.
A preliminary investigation found that the bus was speeding, causing the driver to "lose control" of the vehicle over a speed bump and break through a safety barrier, the state government said in a statement.
The bus "fell into the bottom of the Atoyac river," the statement said, adding that "16 bodies and 10 injured people were recovered."
The bus was taking the players to an amateur football game, local officials said. Children were among the passengers.
