Puyol inició su carrera profesional integrando las filas del F. C. Barcelona B, donde logró disputar más de 80 partidos. En la temporada 1999-00 hizo su debut oficial en el primer equipo, de la mano del entonces entrenador, el neerlandés Louis van Gaal. En esa misma temporada logró disputar 37 partidos y al año siguiente recibió el Premio Don Balón al mejor jugador revelación. Consiguió su primer título oficial en la temporada 2004-05, al consagrarse campeón de La Liga y en 2006 obtuvo su primer título de clubes a nivel internacional, al ganar la Liga de Campeones de la UEFA. Como internacional, hizo su debut oficial con la selección de fútbol de España en 2000, en un encuentro que disputó ante la selección de fútbol de los Países Bajos. Es el segundo futbolista en la historia del F. C. Barcelona con mayor cantidad de partidos disputados en todas las competiciones, con más de 550 encuentros oficiales, y el séptimo jugador en la historia de la selección española con mayor cantidad de partidos disputados, con un total de 100. Asimismo, ha participado en tres Copas Mundiales (Corea y Japón 2002, Alemania 2006 y Sudáfrica 2010), una Copa FIFA Confederaciones (Sudáfrica 2009), una Eurocopa (Austria-Suiza 2008) y los Juegos Olímpicos de Sídney 2000.