Puyol przez lata był podstawowym piłkarzem hiszpańskiej drużyny narodowej, z którą triumfował również w mistrzostwach Europy w 2008 roku. Debiutował w 1990 roku i do tej pory rozegrał w niej 90 spotkań, zdobywając trzy bramki.
W tegorocznych mistrzostwach świata wystąpił we wszystkich meczach, a w półfinale z Niemcami strzelił jedynego gola.