Puyol jest zawodnikiem Barcelony od dziesięciu lat. Zadebiutował 2 października 1999 roku w meczu przeciwko Realowi Valladolid. Od tego czasu wystąpił w 452 oficjalnych spotkaniach katalońskiego klubu. Trzykrotnie wywalczył z Barceloną mistrzostwo Hiszpanii, a dwukrotnie triumfował w Lidze Mistrzów. W drużynie od dawna pełni rolę kapitana. W reprezentacji kraju wystąpił w 79 meczach.