W młodym wieku trafił do piłkarskiej szkółki Valencii, a w 2003 został przesunięty do zespołu rezerw, w barwach którego rozegrał 14 meczów i zdobył 1 gola w Segunda División B. Sezon 2004/2005 Silva spędził na wypożyczeniu w drugoligowymSD Eibar. Zdobył tam 5 goli w lidze i był podstawowym członkiem jedenastki tego zespołu, z którym był bliski awansu do Primera División (Eibar ostatecznie zajęło 4. miejsce). Silva po sezonie wrócił do Walencji, ale tuż przed rozpoczęciem następnych rozgrywek ponownie został wypożyczony, tym razem do Celty Vigo. W drużynie Celty zadebiutował w Primera División, 28 sierpnia w wygranym 2:0 meczu z Malagą CF. W Celcie szybko wywalczył miejsce w podstawowym składzie i rozegrał w klubie z Vigo 34 mecze ligowe i zdobył 3 gole (swojego pierwszego zdobył 23 października w wygranym 1:0 meczu z RCD Espanyolem). Z Celtą zajął 6. miejsce w lidze.
Po grze w Celcie Silva wrócił do Valencii. Otrzymał ofertę z Tottenhamu Hotspur, jednak klub postanowił przedłużyć kontrakt z Hiszpanem i ostatecznie został on włączony do kadry pierwszego zespołu, w którym zastąpił Pablo Aimara, który odszedł do Realu Saragossa. Numer 21 otrzymał właśnie po nim. W barwach Valencii zadebiutował w 1. kolejce, w wygranym 2:1 meczu z Real Betis.
30 czerwca 2010 Manchester City ogłosił, że po zakończeniu Mistrzostw Świata 2010 Silva podpisze kontrakt z klubem[1]. 15 lipca 2010 został oficjalnie zaprezentowany jako gracz Manchesteru City[2].
17 sierpnia 2020 roku powrócił do Hiszpanii, przeszedł do Realu Sociedad na zasadzie wolnego transferu[3].
27 lipca 2023 ogłosił zakończenie kariery z powodu poważnej kontuzji (zerwanie więzadła krzyżowego) odniesionej przed nadchodzącym sezonem.[4]
Karierę reprezentacyjną Silva rozpoczął od występów w młodzieżowej reprezentacji Hiszpanii. Z reprezentacją U-21 wystąpił na Młodzieżowych Mistrzostwach Świata w 2005 roku w Holandii. Zagrał tam we wszystkich meczach i zdobył 4 gole, ale Hiszpanie odpadli w ćwierćfinale po porażce 1:3 z późniejszymi mistrzami świata, Argentyną.
Wraz z kadrą Silva wystąpił na Euro 2008. W półfinałowym spotkaniu z Rosją zdobył bramkę. Przypieczętował tym samym zwycięstwo Hiszpanów. Podczas finałowego meczu z reprezentacją Niemiec spędził na boisku 66. minut – Luis Aragonés zastąpił go Santim Cazorlą po incydencie, w którym uczestniczył Hiszpan oraz Lukas Podolski. Jego reprezentacja ostatecznie wygrała to spotkanie 1:0 po trafieniu Fernando Torresa.
Na Mistrzostwach Europy w 2012 wraz z reprezentacją Hiszpanii zajął pierwsze miejsce. Zdobył dwie bramki (w meczu grupowym z Irlandią oraz pierwszą bramkę finału z Włochami) i miał trzy asysty (w meczu grupowym z Włochami przy bramce Fàbregasa oraz przy obydwu bramkach Torresa w meczu z Irlandią), co pozwoliło mu zająć pierwsze miejsce w klasyfikacji kanadyjskiej mistrzostw[5]. Został wybrany do Drużyny turnieju według UEFA.