"Great news! We have found the San Jose galleon," the president tweeted.
The wreck was discovered near the port city of Cartagena.
It has been described as the holy grail of shipwrecks, as the ship was carrying one of the largest amounts of valuables ever to have been lost at sea.
Mr Santos said the cargo was worth at least $1bn (Â£662m).
The San Jose was carrying gold, silver, gems and jewellery collected in the South American colonies to be shipped to Spain's king to help finance his war of succession against the British when it was sunk in June 1708.
The vessel was attacked by a British warship just outside Cartagena.
Colombian officials would not reveal the precise location of the wreck, but Mr Santos said the find "constitutes one of the greatest - if not the biggest, as some say - discoveries of submerged patrimony in the history of mankind".
He said that a museum would be built in Cartagena to house the ship's treasures.
Ownership of the wreck has been the subject of a long-running legal row.
The Colombian government did not mention its long-running quarrel with US-based salvage company Sea Search Armada (SSA) over claims to the treasure.
A group now owned by SSA said in 1981 that it had located the area in which the ship sank.
SSA has been claiming billions of dollars for breach of contract from the Colombian government, but in 2011 an American court ruled that the galleon was the property of the Colombian state.
The wreck of a Spanish ship laden with treasure that was sunk by the British more than 300 years ago has been found off the Colombian coast, says President Juan Manuel Santos.