Silva est présent dans le onze de départ lors des six matches de l'Espagne durant l'Euro 2012. Le 14 juin, il marque face à l'Irlande d'un tir du plat du pied depuis le point de penalty qui, avant de tromper Shay Given, passe entre trois défenseurs irlandais, dont un petit pont sur Richard Dunne. À la minute de la finale face à l'Italie, il marque le premier but de son équipe de la tête sur un centre de Cesc Fàbregas. Le match se termine sur le score de 4 à 0 et met ainsi un terme à la compétition dans laquelle Silva a marqué deux buts et distribué trois passes décisives, finissant ainsi joueur le plus efficace de l'Euro 2012. Il est par la suite nommé dans l'équipe type du tournoi grâce à ses performances.