Real Madrid could still finish in the Champions League top-eight after braces from Rodrygo and Vinicius Junior propelled them to a comfortable 5-1 victory over RB Salzburg.
Kylian Mbappe also added his name to the scoresheet, while Salzburg's late consolation came courtesy of Mads Bidstrup.
Sergio Conceicao won his first Champions League game in charge of AC Milan as Rafael Leao's goal secured a 1-0 victory over Girona and strengthened their grip on a top-eight finish.
Feyenoord recorded a 3-0 victory over Bayern Munich as the German giants were left heading towards the play-off round while Inter Milan moved to the brink of automatic qualification for the last-16 with a 1-0 victory over Sparta Prague.
The defeat leaves City outside the top 24 in the league phase of the competition and needing to beat Club Brugge in their last game next week to reach the play-off round.
Kai Havertz doubled Arsenal's tally after 66 minutes with his 14th goal of the season before Martin Odegaard added a third in stoppage time.
Visiting captain Loris Benito knocked the ball into his own net in the 86th minute after substitute Adam Idah's effort was saved by goalkeeper Marvin Keller following Reo Hatate's excellent through ball.
In the early games, Shakhtar Donetsk beat Brest 2-0, while RB Leipzig secured a 2-1 victory over Sporting Lisbon.
Watch all the week's Champions League highlights on the RTÉ Sport YouTube channel