García moved from Barcelona at the age of 17 toManchester City. He made hisPremier League debut on 21 September 2019. In his final season at the club, he won theleague and wasrunner-up in theUEFA Champions League. In June 2021, García rejoined Barcelona on a free transfer, following the expiration of his contract.
He joined up with the first team during their 2018 summer pre-season in the United States.[5] On 18 December 2018, García made his debut for City, starting in theEFL Cup quarter-final againstLeicester City.[7] He played in acentre-back pairing withNicolás Otamendi, with the game finishing 1–1, City winning the tie on penalties.[8] He made hisPremier League debut on 21 September 2019 when he came on as a 63rd-minute substitute for Otamendi in an 8–0 win overWatford.[9]
García played two full games back to back for City over the Christmas and New Year period in 2019. The first game was againstSheffield United at home, which City won 2–0.[10] A second home game in a couple of days, saw a second start for García, with City recording a 2–1 victory againstEverton.[11]
On 17 June 2020, García was in the starting eleven againstArsenal for City's first game back after theCOVID-19 pandemic break, with City recording a 3–0 win. Towards the end of the game, García was involved in a collision with goalkeeperEderson and initially left him unconscious.[12] García received lengthy on-field treatment before being stretchered off and supplied with oxygen. Despite the seriousness of the incident, García was discharged from hospital the next day.[13] ManagerPep Guardiola stated in a press conference García's injury was aconcussion and expected him to be fit within 10 days.[14]
On 6 August 2020, Guardiola announced in a press conference that García had rejected a contract extension, despite ending the league campaign as City's first-choice partner forAymeric Laporte.[15]
On 1 June 2021, García agreed to sign forLa Liga club Barcelona on afree transfer on a five-year contract starting 1 July, with a buyout clause set at €400 million.[16] On 15 August 2021, he played his first competitive match for the club as he started the league opening game, a 4–2 victory againstReal Sociedad.[17] On 21 August, he was sent off after receiving a straight red card for his last-ditch tackle onNico Williams in a 1–1 draw againstAthletic Bilbao.[18] On 29 September, García was sent off for the second time after receiving two yellow cards in a 3–0Champions League group stage thrashing byBenfica.[19]
On 1 September 2023, García was loaned to fellow top tier sideGirona for the2023–24 season.[20] On 27 September, he scored his first goal for Girona to secure a 2–1 away win overVillarreal, which granted his club the top place in La Liga after seven matches for the first time in their history.[21] He eventually scored five goals in total, becoming one of the league's top-scoring defenders.[22]
García returned to Barcelona after his loan spell ended.[23] On 4 January 2025, he scored his first goal since rejoining the team in a 4–0 away victory overUD Barbastro in theCopa del Rey.[24] On 21 January, he netted his maidenChampions League goal in a 5–4 away victory overBenfica.[25]
Later, on 6 May 2025, in the second leg of theChampions League semi-final againstInter Milan, García started as a right-back due to the injury toJules Koundé and scored the first goal for Barcelona after they went down 2-0 in the first half.[26] Just five days later, in a homeEl Clásico showdown againstReal Madrid, García once again scored the first goal for Barcelona after they went down 2-0 in the first half, marking his first career El Clásico goal.[27]
After an impressing2024-25 season underHansi Flick,[28] he has been a regular member of FC Barcelona’s squad during the2025-26 season, featuring consistently across all competitions. On 25 September 2025, he scored his first goal of the season in a 3-1 comeback victory overReal Oviedo inLa Liga.[29]
On 11 December 2025, Garcia put pen to paper on a new long term deal at the club, keeping him at the club till 30 June 2031.[30][31]