Svou fotbalovou kariéru začal v Realu Madrid, kde odehrál několik zápasů za mládežnické týmy. V sezóně 2004/05 si poprvé zahrál za A-tým Realu, ale nastoupil jen ke dvěma ligovým zápasům. Ještě v roce 2006 přestoupil do Deportiva La Coruñi.
Tam se stal oporou prvního týmu a hrál v základní sestavě. Po dobrých výkonech si ho v roce 2007 vyhlédl trenér Rafael Benítez do Liverpoolu. Vydržel zde 2 roky a nastupoval převážně v základní sestavě. Po dvou letech se vrátil na Santiago Bernabéu, když ho za stejnou částku jako stál Liverpool, tedy 4 milióny eur, do svého týmu přilákal nově zvolený předseda Realu Madrid Florentino Pérez.
V Realu pobýval až do léta 2016 a nasbíral zde celou řadu trofejí. V srpnu 2016 se vrátil do Anglie, kde strávil závěr kariéry v klubu West Ham United FC. V Premier League odehrál za „kladiváře“ pouze 3 zápasy. V červnu 2017 ohlásil konec profesionální kariéry.[1]