Durante la sua carriera ha partecipato a cinque Europei (2000, 2004, 2008, 2012 e 2016) – record condiviso con Cristiano Ronaldo –, quattro Mondiali (2002, 2006, 2010 e 2014) e due Confederations Cup (2009 e 2013), vincendo da capitano gli Europei 2008 e 2012 e il Mondiale 2010. Della "Roja" è il secondo calciatore per numero di presenze ufficiali (167), dietro al solo Sergio Ramos. A livello giovanile ha vinto anche il Mondiale Under-20 del 1999.