בשנת 2006 זומן סילבה לראשונה לנבחרת ספרד, וערך את הופעת הבכורה שלו ב-15 בנובמבר נגד רומניה בהפסד 0–1. עד מהרה הפך לאחד מהשחקנים הבכירים בנבחרת ספרד, וסייע לה לצלוח את מוקדמות יורו 2008. סילבה זומן על ידי המאמן לואיס אראגונס לסגל הנבחרת גם לטורניר היורו עצמו, ובמשחק חצי הגמר של הטורניר, מול נבחרת רוסיה, כבש שער בניצחון 0–3 וסייע לנבחרתו לזכות בטורניר לאחר ניצחון בגמר על נבחרת גרמניה.