Fudbal je počeo da igra u svom lokalnom klubu La Pobla de Segur i to kao golman. Posle povrede ramena, prebacio se na poziciju napadača. Godine 1995. Pujol prelazi u podmaladak Barselone i prebacuje se na poziciju defanzivnog veznog igrača. Godine 1997. je prekomponovan u Barselonu B, gde igra na desnoj odbrambenoj poziciji.
Godine 1999. tadašnji trener Barselone Luj Van Gal ga promoviše u prvi tim. Debitantski me za prvi tim Barselone odigrao je 2. oktobra 1999. godine protiv Valjadolida. Krajem sezone 2003/04. po povlačenju Luis Enrikea iz fudbala postao je kapiten kluba. Za Barselonu je odigrao preko 450 utakmica u svim takmičenjima, čime je treći igrač po broju ukupno odigranih mečeva za katalonski tim.
Dana 30. oktobra 2009. produžio je ugovor sa čelnicima Barselone na još tri sezone uz klauzulu za obeštećenje od 10 miliona evra. Igrajući 11 sezona za Barselonu osvojio je isto toliko trofeja, od čega tri titule prvaka Španije i dve titule prvaka Evrope, 2006. i 2009. godine.