Early career Born in
Don Benito,
Badajoz, Extremadura, Porro represented Gimnástico de Don Benito and
Rayo Vallecano before joining
Girona on 10 August 2017. He reportedly rejected
Real Madrid,
Atlético Madrid and
Bayern Munich to sign for the
Catalans.
Girona On 28 November 2017, before even appearing with
the reserves, Porro made his first team debut by coming on as a late
substitute for goalscorer
Johan Mojica in a 1–1 away draw against
Levante, for
the season's
Copa del Rey. He made his first appearance for the B-side five days later, playing the last seven minutes in a 0–0
Segunda División B draw at
Ebro. Porro scored his first senior goals on 6 May 2018, scoring twice in a 3–0 away win against
Villarreal B. On 2 July, he renewed his contract until 2022, and played most of the pre-season as a
right back. Porro made his
La Liga debut on 17 August 2018, starting as right back in a 0–0 home draw against
Real Valladolid. The following day, he extended his contract for a further year. Porro established himself as a starter under
Eusebio Sacristán, becoming first choice ahead of
Aday Benítez and replacing departed
Pablo Maffeo. He scored his first professional goal on 31 January 2019, his team's only goal in a 1–3 cup loss at
Real Madrid.
Manchester City On 8 August 2019, Porro signed for
Manchester City, for a reported fee of £11 million.
Loan to Real Valladolid Upon signing for Manchester City, Porro was immediately loaned to
Real Valladolid in
La Liga for one season. The club had an option to make a permanent move, and after playing 13 league games, helping the
Pucelanos to a 13th place finish, Real Valladolid opted to not exercise their option to sign Porro on a permanent basis.
Sporting CP On 16 August 2020, Porro joined
Sporting CP on a two-year loan deal until 30 June 2022 with the option of making the move permanent for €8.5 million (£7 million). On 24 September 2020, he made his debut for the club in a 1–0 home win against
Aberdeen in the
third qualifying round of the
UEFA Europa League. After arriving in
Lisbon at the
Estádio José Alvalade under some suspicion for young age, Porro immediately established himself as starter in the right side of the defence, making his league debut in a 2–0 away victory against
Paços de Ferreira. He scored his first goal for the
Leões on 1 November in a 4–0 victory against
Tondela. For his outstanding performances for the club, Porro was named the
Primeira Liga's Defender of the Month for three consecutive months, between
November and
January 2021. On 23 January, Porro scored the only goal in the defeat of
Braga to help his club
win the
Taça da Liga. Three days later, Porro scored a shot outside the box, in a 2–0 away victory against
Boavista. His strike was later voted as the Primeira Liga's Goal of the Month. He played 30 games for the
eventual champions, ending a 19-year drought, while also being named in the
Team of the Year. At the beginning of the
following season, Porro continued with outstanding performances, providing an assist for
Nuno Santos in a 1–1 home draw against Sporting's
rivals Porto, and scored two goals from the penalty spot on two consecutive league games – in a 1–0 victory against
Estoril on 19 September and a 1–0 victory against
Marítimo on 24 September – which earned him the Primeira Liga's Defender of the Month award for two consecutive months in August and September. On 24 November, Porro scored the third goal against
Borussia Dortmund in a 3–1 home victory at a group stage match of the
2021–22 UEFA Champions League, by converting the rebound after
Gregor Kobel saved a penalty from
Pedro Gonçalves, to ensure his team qualification to the
round of sixteen, for the first time since the
2008–09 season. Shortly afterwards, Porro began suffering from recurring hamstring injuries, which sidelined him for two months of the season. He made his return from injury on 29 January 2022, with his crucial assist to
Pablo Sarabia helping his team come from behind to defeat
crosstown rivals Benfica 2–1 in the
2021–22 Taça da Liga final. On 16 May 2022, Sporting triggered Porro's buyout clause of €8.5m (£7.2m) million, signing him on a permanent three-year deal with a reported €20m (£17.6m) million buy-back clause. Following a season in which he helped Sporting to a runner-up finish behind rivals Porto, scoring five goals and providing seven assists, he was named in the
Team of the Year for a second consecutive season.
Tottenham Hotspur On 31 January 2023, the deadline day of the transfer window,
Premier League club
Tottenham Hotspur announced the signing of Porro on loan from Sporting for a loan fee of €5 million, with an obligation to buy in the summer for €40 million. In return, Sporting also received 15% of
Marcus Edwards' economic rights. Porro made his Spurs debut on 11 February, starting in a 4–1 defeat to
Leicester City. His performance drew criticism from former Spurs manager
Tim Sherwood, who described Porro as "so bad it's unbelievable." However, he scored his first goal for the club on 18 March 2023 in a 3–3 away draw at
Southampton and went from strength to strength. On 5 January 2024, Porro scored the only goal in a 1–0 victory against
Burnley in the
FA Cup third round. On 8 May 2025, Porro scored the final goal in a 2–0 second-leg victory against
FK Bodø/Glimt in the
2024–25 UEFA Europa League semi-final to secure a 5–1 aggregate victory, sending Spurs into the
final, which Spurs won 1–0. For his performances throughout the tournament, Porro was named in the Europa League Team of the Season. ==International career==