Silva, 36, was set to see his contract expire at the end of the season but has signed up for another 12 months.
Silva ended a hugely successful decade at City - where he won four Premier League titles - in 2020 and joined the San Sebastian club on a free transfer.
La Real sit sixth in the LaLiga table with five rounds of the season remaining and could qualify for European competition again.
Silva said: "I'm very happy. The truth is that I've been here for two very good years. Let's hope it ends up like last year with us getting into Europe.
"We are playing great games and it's good to continue for another year. Before signing I knew the team was playing well and I was playing good football.
"It is good the club is growing and being there every year to fight for Europe."