Вихованець футбольної команди з рідного міста, починав грати на позиції воротаря, згодом пробував сили як нападник.
1995 року переїхав до Барселони, де продовжив навчання у футбольній школі головного клубу провінції, «Барселони». 1997 року дебютував у складі команди «Барселона Б», що виступала у Сегунді (другому за ієрархією дивізіоні чемпіонату Іспанії). У цій команді грав на правому фланзі захисту.
1999 року тренер «Барселони» Луї ван Галь почав залучати молодого захисника до складу головної команди. 2 жовтня 1999 Пуйоль дебютував у складі «Барселони» у матчах елітного Прімера Дивізіону. Спочатку продовжував грати на правому фланзі, згодом був переведений у центр захисту і відразу ж став ключовою фігурою на цій позиції. З кінця сезону 2003—04 Пуйоль став незмінним капітаном каталонської команди.
Викликався до юнацької та молодіжної збірних Іспанії, 2000 року дебютував у складі національної збірної країни. На рівні олімпійської збірної U-23 брав участь у футбольному турнірі на Літніх Олімпійських іграх 2000 року, на якому іспанці вибороли срібні олімпійські нагороди.
Був включений до складу збірної Іспанії для участі у світовій першості 2010 року, за результатами якого іспанці вперше в історії стали чемпіонами світу. Під час фінального турніру у Південно-Африканській Республіці був основним центральним захисником команди, повністю провівши на полі усі сім матчів іспанців на турнірі. Збірна Іспанії з Карлесом у складі на тому чемпіонаті світу пропустила лише двічі в семи зустрічах. Гол, забитий Пуйолєм після розіграшу кутового у півфінальному матчі проти збірної Німеччини, виявився єдиним у грі і дозволив іспанцям пройти до фіналу, де вони здолали збірну Нідерландів.