The 34-year-old returns to La Liga after a decade in the Premier League, having originally been tipped to join Lazio
The 34-year-old has signed a two-year deal through to the summer of 2022.
Such was the surprise at the move, Real Sociedad’s website crashed shortly after the transfer was confirmed as fans scrambled to find out details of the deal.
“Real Sociedad has reached an agreement with David Silva for the Canarian footballer to play for the Txuri Urdin team for the next two seasons, until June 30, 2022,” read a statement on the club’s website.
“The player, who arrives on a free transfer after leaving Manchester City, will in the near future be incorporated into pre-season with the first team.”
Silva will wear the number 21 shirt at the Anoeta Stadium, which was worn by Norway international Martin Odegaard during his loan spell from Real Madrid last season.
Widely considered one of their greatest ever players, Silva made 436 appearances for Manchester City over 10 seasons, playing an integral role in transforming the club from Premier League also-rans to a footballing powerhouse.
He won four Premier League titles, two FA Cups, five League Cups and three Community Shields during his time in a sky blue.
Earlier on Monday, City announced their intention to honour the midfielder with a statue outside Etihad Stadium. They will also dedicate a training pitch with a bespoke mosaic to Silva at their City Football Academy.
Upon the announcement, City chairman Khaldoon Al Mubarak described Silva as “a transformational player; a quiet leader who has acted quietly and deliberately and inspired everyone around him, from the youngest academy player to his senior team-mates over the past 10 years.”
Silva then posted an emotional tribute to City and their fans on Twitter, saying the club “would always be in his heart”.