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.