Esposito made his professional debut for Inter Milan at 16 years old, on 14 March 2019, in the second leg of Europa League match against Eintracht Frankfurt, coming in as a substitute for Borja Valero in the 73rd minute. He became the youngest player ever to feature in a European competition match for the club.
The following season, on 23 October 2019 he made his debut in Champions League, replacing Romelu Lukaku in the group stage match against Borussia Dortmund, and becoming the first player born in 2002 and the second youngest ever for the club to feature in a Champions League/European Cup match, after Giuseppe Bergomi.[1][2][3] On 26 October, he made his Serie A debut, aged 17, coming as a substitute for Lautaro Martínez in a home match against Parma in San Siro. On 21 December 2019, Esposito scored his first goal for Inter, on his full debut, from a penalty in a 4–0 win at home against Genoa. On 18 June 2020, he was nominated for the Golden Boy award.
On 15 January 2021, Esposito joined Venezia on loan.[5]
2021–22 season: Loan to Basel
On 13 July 2021, he was loaned to Swiss club Basel, with an option to buy.[6] Basel confirmed the loan deal on the same day and Esposito joined Basel's first team for their 2021–22 season under head coach Patrick Rahmen.[7] After playing in one test game, Esposito played his debut for his new club in the second qualifying round of the 2021–22 UEFA Europa Conference League, a home game in the St. Jakob-Park on 22 July 2021, as Basel won 3–0 against Partizani Tirana.[8] Three days later, on 25 July, Esposito made his Swiss Super League debut for Basel against Grasshoppers and scored his first goal for the club in the same game as they recorded 2–0 victory.[9]
At the end of the season, Basel decided not to pull the purchase option. During his time with the club, Esposito played a total of 39 games for Basel, scoring a total of nine goals. 23 of these games were in the Swiss Super League, one in the Swiss Cup, ten in the UEFA Europa Conference League and five were friendly games. He scored six goals in the domestic league, one in the Conference League and the other two were scored during the test games.[10]
2022–23 season: Loans to Anderlecht and Bari
On 4 July 2022, Esposito joined Belgian club Anderlecht on loan.[11] On 31 January 2023, Esposito moved on a new loan to Bari in Serie B.[12]