Lyngby Boldklub Odgaard got his debut for
Lyngby BK on 15 March 2016 at the age of just 16. He started on the bench, but replaced Gustav Therkildsen in the 89th minute in a 1–0 victory against
Aalborg in the
Danish Cup. He played his first league game on 17 April 2016, where he came on the pitch in the 65th minute, replacing
Jeppe Kjær, in a 2–0 victory against
Næstved BK. Odgaard extended his contract with Lyngby in the summer 2016 until the summer 2018, and was moved up to the senior squad. He was the youngest player ever for Lyngby Boldklub, to have played a match in the
Danish Superliga, at the age of 17 years and 115 days.
Inter On 5 July 2017,
Inter Milan announced the signing of Odgaard. He played for the youth team.
Sassuolo On 30 June 2018, Odgaard was transferred to
Serie A team
Sassuolo, however
Inter Milan reserved the right to buy him back.
Heerenveen (loan) On 22 June 2019, Odgaard joined to
Eredivisie club
SC Heerenveen on loan until 30 June 2020.
Lugano (loan) On 2 October 2020, Odgaard joined Swiss club
Lugano on loan until 30 June 2021.
Pescara (loan) On 22 January 2021, Odgaard joined
Serie B club
Pescara, on a loan until the end of the season.
RKC Waalwijk (loan) On 24 July 2021, he moved to
RKC Waalwijk in the Netherlands on a new loan.
AZ On 24 June 2022, Odgaard moved to Dutch club
AZ and signed a five-year contract.
Bologna On 1 February 2024, Odgaard returned to Italy and joined
Bologna on loan with an option to buy. On 16 May 2024, Bologna exercised their option to make the transfer permanent. On 14 May 2025, he won
Coppa Italia with Bologna, helping the club to their first major trophy in 51 years. ==Career statistics==