Roma A youth product of
Roma, Calafiori signed his first contract with them on 16 June 2018. Calafiori suffered a near career-ending injury to his knee on 2 October 2018. Calafiori made his professional as well as
Serie A debut with AS Roma in a 3–1 away victory against
Juventus on 1 August 2020. During the match, he won a penalty which was successfully converted by teammate
Diego Perotti, and Calafiori also scored a goal with a strike from distance following a corner. However, the goal was disallowed, as the ball had previously gone out of play. The following season, on 3 December 2020, Calafiori was brought on by Roma coach
Paulo Fonseca as
Leonardo Spinazzola's substitute, and scored his first professional goal in Roma's home win against
Young Boys in the
UEFA Europa League. On 14 January 2022, Calafiori joined
Genoa on loan.
Basel On 30 August 2022, Roma announced that Calafiori had joined
Basel on a permanent deal. Calafiori signed a three-year contract with them and joined Basel's first team for their
2022–23 season under head coach
Alexander Frei. Calafiori played his domestic league debut for his new club in the away game at the
Cornaredo on 9 October 2022 as Basel were defeated 1–0 by
Lugano. His beginnings with the team were difficult, but as the season evolved, Calafiori became secure and advance to become a regular starting player. He scored his first (and only) goal for his new team on 16 March 2023 in the away game at
Tehelné pole as Basel played a 2–2 draw with
Slovan Bratislava in the round of 16 of the
2022–23 Conference League. The game ended with an aggregate score 4–4. In the penalty shoot-out Calafiori also netted his attempt as Basel won this to continue in the next round. His goal in the second leg was an important contribution to FCB's route to the semi-finals of this competition. Eventually in the semi-final, their campaign came to an unlucky end in the 10th minute of added time of the extra-time, because then they conceded the decider and were defeated by
ACF Fiorentina. With his strong performances, especially in the second half of the season, Calafiori aroused the interest of several clubs from his homeland and before returning to Italy at the end of August. During his time with the club, Calafiori played a total of 44 games for Basel scoring just that one afore mentioned goal. 26 of these games were in the
Swiss Super League, three in the
Swiss Cup, nine in the
Conference League and six were friendly games.
Bologna On 31 August 2023, Calafiori returned to
Serie A and signed with
Bologna alongside Basel teammate
Dan Ndoye. Under head coach
Thiago Motta, he was switched to a
centre-back role, where he emerged as one of the best players in the league. On 20 May 2024, he scored his first Serie A goals by netting a brace in a 3–3 draw against Juventus, with Bologna conceding three quick goals following his substitution in the 75th minute. Throughout the
season, he helped Bologna qualify for the
UEFA Champions League for the first time since
1964–65, ensuring a top-five finish in Serie A.
Arsenal On 29 July 2024, Calafiori joined
Premier League club
Arsenal on a long-term contract for an initial reported fee of £33.6 million, rising to £42 million with add-ons. He made his debut against
Aston Villa on 24 August 2024. On 22 September, on his first full start for Arsenal, Calafiori scored his first goal for the club in a 2–2 draw against
Manchester City at the
Etihad Stadium, scoring from outside the box following a drop pass from
Gabriel Martinelli. The goal was later voted Arsenal's goal of the month for September on the club's website. Calafiori scored his second for the Gunners on 25 January 2025, this time a 74th minute away winner at
Wolves. Two months later, on 4 March, he netted his first Champions League goal in a 7–1 away win over
PSV Eindhoven during the
Round of 16. On 17 August 2025, Calafiori scored a header in Arsenal's first match of the
2025–26 Premier League, helping his team to a 1–0 away victory against
Manchester United. An excellent start to the season saw Calafiori nominated for the
Premier League Player of the Month award for August, after registering a goal, two assists, and helping his side to two clean sheets in the opening three games. ==International career==