Puyol vann sinn fyrsta leik fyrir Spánn 15. nóvember 2000 gegn Hollandi og var áfram fastur leikmaður næstu ár. Hann lék fyrir land sitt á Ólympíuleikunum 2000, HM 2002 og EM 2004.
, 2006 HM, EM 2008, 2009 FIFA Confederations Cup og 2010 HM.