Duda began his football career at his hometown club MFK Snina. He later moved to Košice, where he rose through the youth team ranks, making his first-team debut for the club at the age of 17 as a late substitute during a 1–0 home win against Slovan Bratislava.[3]
In the winter of 2013–14, Duda decided to not extend his contract with Košice, which would expire the following summer.[4] In February 2014, Duda then joined Legia Warsaw on a four-and-a-half-year deal.[5][6]
On 30 July 2015, Duda was hit by a stone in Legia's UEFA Europa League qualifier away at Kukesi in Albania, being stretchered off and the match abandoned. The game was awarded as a 3–0 Legia victory and their opponents were fined €70,000 and forced to play their next European home match behind closed doors.[7]
Hertha BSC
On 20 July 2016, Duda signed for Bundesliga side Hertha Berlin on a five-year deal.[8] After being sidelined with a knee injury shortly after signing and also undergoing knee surgery in November 2016, Duda made his competitive debut for Hertha on 25 February 2017 in a 2–0 win over Eintracht Frankfurt as an 89th-minute substitute, 7 months after signing with the club.[9] Duda famously scored against Bayern Munich, as he smashed home a cross into the roof of the Bayern net, past a helpless Manuel Neuer. Duda's goal was Hertha Berlin's second goal against Bayern, as the Slovak international inspired the Berliners to a 2–0 victory over the German champions.[10]
Duda experienced a good year with Hertha in the 2018–2019 season. He played in 32 of the 34 Bundesliga games, scoring 11 goals and adding 6 assists. Even though Hertha had failed to qualify for any European competitions in the subsequent season, finishing 11th and 11 points behind Europa League positions, Duda was spotted and inquired about by Sevilla, as reported in mid-May 2019. Sevilla was to send an offer to Berlin, even meeting with Duda's father. Hertha manager Pal Dardai was full of praise for the excellent Duda, saying the following about the world class Slovak playmaker, "Duda can do things with the ball that very few here can".[11]
Duda's 2019–2020 season with Hertha was not as good, as the previous one. Duda started the season with a new manager. Pál Dárdai, who led Hertha from the time of Duda's arrival, was replaced over the summer by Ante Čović.[12] He was fielded in the starting line-up in the first five rounds of Bundesliga, following the trend from last seasons. Of the following twelve games, however, Duda only starred in two, recording a total of just over 94 minutes in these matches against Hoffenheim and Eintracht Frankfurt. Appointment of Jürgen Klinsmann,[13] a former World Cup winner and a successful international manager, on 29 November 2019, was traced to be a partial reason for Duda's absence from the first team. After Duda was left off the bench for four games, being relegated to reserves for one of them, it was revealed that Klinsmann did not include Duda in his plans for Hertha, despite Duda's intention to remain with the side. Duda was subsequently free to look for a different club.[14] Before his departure, Duda was fielded in seven Bundesliga games and two Pokal fixtures. He scored his only goal in a cup fixture against Dynamo Dresden.
Loan at Norwich City
Duda was loaned to Norwich City for the rest of the 2019–20 season on 12 January 2020. He had commented, that he intends to be entertained by the game again and is happy about a move to an even better league, hoping for notable play-time.[15]
He made his debut and first starting line-up appearance on a first possible occasion, on 18 January 2020, in a home fixture against Bournemouth. After some 30 minutes of play, Duda had made a goal-bound shot, that had beaten Cherries' goalkeeper Aaron Ramsdale. His premier goal was however denied, after a handball by Steve Cook, who was subsequently sent-off. Teemu Pukki had converted the resulting penalty with his 10th goal of the season, to secure a narrow 1–0 victory for the home side.[16] In a post-match interview, Duda had stated he was relieved that Pukki had converted the penalty and was glad about the victory. He was applauded for smart play with other attacking players and his debut was commented on as "impressive".[17][18]
Despite a goal-less stay at Norwich, Duda was praised for his professionalism and character by the Canaries' manager Daniel Farke, who permitted Duda's early return to Hertha, after Norwich's relegation was guaranteed, as a sign of mutual respect.[19]
1. FC Köln
In September 2020, it was announced that Duda had signed a four-year contract with Bundesliga side 1.FC Köln. The move came days after Hertha had bought Colombian striker Jhon Córdoba from the same club.[20]
Hellas Verona
On 29 January 2023, Köln announced that Duda would join Serie A side Hellas Verona on loan until the end of the season.[21] After the club avoided relegation at the end of the season, Duda joined the club on a permanent basis for a reported fee of around €2 million.[22]
Duda scored Slovakia's first goal in their UEFA Euro 2016 campaign with an equalising goal to make it 1–1 against Wales. Slovakia went on to lose 2–1.[25] His first goal in any of the qualifying competitions was scored in the 10th game of the 2018 FIFA World Cup qualification against Malta (3–0 win), sealing the second place in the group for Slovakia.
Duda was a regular member of the national team under Pavel Hapal as well as Štefan Tarkovič, although commonly unavailable due to injuries. He continued to feature under Francesco Calzona. In March 2023, following a goal-less home draw versus Luxembourg, Erik Farkaš of Denník Šport wrote critically of Duda's overall national team performances arguing that despite prime age of 28 years, he did not appear capable of replacing Marek Hamšík after his international retirement in creativity and game organisation, though he was often fitted into the position by multiple experts.[26]
^"Ondrej Duda piłkarzem Legii Warszawa" [Ondrej Duda became a player of Legia Warsaw] (in Polish). Onet Sport. 28 February 2014. Retrieved 28 February 2014.
^"Ondrej Duda piłkarzem Legii!" [Ondrej Duda became a player of Legia] (in Polish). Legia Warsaw. Retrieved 28 February 2014.