In 1998, Barcelona accepted an offer from Málaga CF to sell Puyol, who was behind Frank de Boer and Michael Reiziger in the pecking order. However, he refused to leave after seeing his best friend Xavi make his first-team debut.[3]

Louis van Gaal promoted Puyol to the first team the following year, and he made his La Liga debut on 2 October 1999 in a 2–0 away win against Real Valladolid. After that he successfully made another conversion, now to central defender. During the 2003 off-season, as Barcelona was immersed in a financial crisis, Manchester United showed interest in acquiring Puyol's services,[5] but no move ever materialized; two years later, the player extended his contract for a further five seasons.[6]

Puyol was named club captain at the end of the 2003–04 season, after the retirement of Luis Enrique. He continued to be a defensive cornerstone for Barça, being awarded the "Best European right back" award by UEFA in 2002 (amongst other individual accolades), and helping the Catalans win two consecutive league titles. In 2005–06 he appeared in a total of 52 official games, including 12 in the season's UEFA Champions League, which ended in conquest against Arsenal for the club's second trophy.

On 16 September 2008, Puyol made his 400th appearance in all competitions for Barcelona's first team in a Champions League group stage match against Sporting Clube de Portugal.[7] In the league season, he dealt with injury problems, but still contributed to the team by appearing in 28 matches and helped to win another league title, his only goal coming in El Clásico at Real Madrid on 2 May 2009, which finished with a resounding 6–2 away win;[8] from 2008–10 combined, other than the two league titles, he was essential in conquering the 2009 UEFA Super Cup, the 2009 Champions League and the 2009 FIFA Club World Cup, appearing in nearly 100 official matches, and describing the club as "the team who every Catalan child wants to play for... I am living the dream playing football for Barça and it is my dream to retire playing here."[4]

On 13 November 2010, Puyol made his 500th appearance in all competitions for Barcelona's first team in a La Liga game against Villarreal CF.[9] Puyol struggled again with injury in the 2010–11 season,[10][11][12] but still appeared in 28 official games for Barcelona, which again won the league and the Champions League. He played six minutes in the final of the latter competition, a 3–1 win against Manchester United.

On 2 October 2012, in the late stages of a Champions League group stage encounter at S.L. Benfica, his first game upon recovering from a knee ligament ailment contracted against Getafe CF, Puyol dislocated his elbow after landing awkwardly in a corner kick challenge, initially being sidelined for a further two months[16] but fully recovering in one. On 18 December Barcelona renewed his contract, extending it until 30 June 2016;[17] in June of the following year he again underwent surgery to his right knee, in what was his sixth operation as a professional,[18] which led to thoughts of early retirement.[19]

On 2 March 2014, Puyol surpassed Migueli to go second in Barça's all-time league appearances table, behind only Xavi, and scored the third goal in a 4–1 home win against UD Almería.[20] Two days after, even though he still had two more years in his contract, he announced that he would leave Barcelona at the end of the season and declare the remainder of his link void.[21][22] He said, "After my last two major operations, I find it is taking me a lot of effort to reach the level required here, even more than myself and the surgeons thought necessary. That's the reason I have reached this decision".[23]

On 15 May 2014, Barcelona bid farewell to Puyol, after a fifteen-year career in the first team (ten as captain) that brought him 21 titles. At a packed Auditori 1899, his teammates, ex-teammates, presidents and coaches paid him homage, and he said, "I’ve lived the dream of so many young kids, doing what I most enjoy in life, playing football and training".[24] He announced his retirement shortly after at the age of 36 but continued connected to his only club, being immediately appointed director of footballAndoni Zubizarreta's assistant.[25] He resigned in January 2015, shortly after the latter was fired.[26]

At Euro 2008, Puyol started throughout the vast majority of the competition, as the defensive backline only conceded two goals in five games in an eventual final win against Germany. He was named in the Team of the Tournament alongside defensive partner Carlos Marchena, of Valencia CF. He started in three out of five at the 2009 FIFA Confederations Cup, and captained the team when Iker Casillas was rested for the last group stage match; as Spain finished third, he and four other teammates were named in the Team of the Tournament.

At the 2010 World Cup in South Africa, Puyol started every match and played almost every minute (he was substituted by Marchena in the 84th minute of the quarter-final against Paraguay[29]). He scored the only goal in the semifinal against Germany with a powerful header from a corner taken by Barcelona teammate Xavi, sending the national team through to their first World Cupfinal,[30] and scoring his third international goal in 89 matches; in the decisive match, he played the full 120 minutes as Spain defeated the Netherlands 1–0.

On 1 August 2010, 32-year-Puyol announced that he would continue to play for the national team for at least another two years.[31] He missed the Euro 2012 tournament due to a knee injury contracted in a league game against RCD Espanyol in early May, which required surgery and five to six weeks recuperation.[32]

Puyol was known for his commanding presence in the air, his composure on the ball and his intense commitment and ruggedness. According to Barcelona's head doctor, he was "the strongest, who has the quickest reactions, and who has the most explosive strength."[3] Club fans referred to him as "The Wall".[35]Miguel Ángel Nadal, who played with him for a short period of time, said, "Carles plays with maturity, has great positional sense, and above all, has pride in his shirt."[3]

Puyol was also known for his leadership and work ethic. He often continued training alone after the end of a team practice session or on days off.[27] He said in 2010, "I don't have Romário's technique, [Marc] Overmars' pace or [Patrick] Kluivert's strength. But I work harder than the others. I'm like the student who is not as clever, but revises for his exams and does OK in the end."[3]

Fellow defender Gerard Piqué said: "He's someone who, even if you're winning 3–0 and there's a few seconds left in the game will shout at the top of his voice at you if he thinks your concentration is going."[36] A former team-mate said, "Even four goals down he thinks we can still win",[27] and another described him as "a pain in the arse" but added "that's exactly what we need".[27][37][38]

Puyol's long shaggy hair has been a distinctive feature throughout his career. Barcelona manager Van Gaal suggested he get it cut when the player was 19, immediately after his first training session with the senior players: "What's your problem, can't you afford the money for a haircut?", Van Gaal asked him in his office. "I said nothing," Puyol remembered, "and to this day have kept my hair as is.[3][39]

In 2006, Puyol said that when not working, he leads "a very quiet life... I've not been to a nightclub in Barcelona for years either. When I go out, I stay in a restaurant with my friends."[4] He likes to warm up for games listening to Napalm Death.[40]

Puyol's father, Josep, died in a farming accident in late 2006 while Carles was on his way to play a match against Deportivo de La Coruña. He was informed of the news by coach Frank Rijkaard upon landing.[41] He said that this, combined with an injury led to a dark period, with Spanish national team physio Raúl Martínez eventually coming to Barcelona: in the player's words, "...[he] gave me a great telling off. He made me react, and I began to try to be more cheerful, and not overwhelmed by it all."[42]

In March 2009, Puyol told Goal.com: "I do not like to go out much, although it is good to disconnect and I like to read."[43] In September of the following year, he started a relationship with model Malena Costa: on 16 October he scored through a header in a 2–1 home win against Valencia CF, and dedicated her the goal by making a heart symbol with both hands. “I dedicate the goal to my girlfriend”, he said after the game.[44]

In 2011, Puyol paid €30,000 for specialist private treatment for Miki Roqué, a footballer from his home province who was suffering from pelvic cancer. However, the latter died in 2012.[45]

In 2012, Puyol started a relationship with Vanessa Lorenzo, with the couple fathering daughters Manuela (born 2014) and María (2016).[46][47]