A goal in either half from Josip Pivarić and Junior Fernandes proved enough to earn Dinamo their first group stage win since 1999.
Dinamo Zagreb ended their 16-year wait for a group stage win with a 2-1 defeat of Arsenal in the Croatian capital.
Zoran Mamić’s team may have headed into the game unbeaten in 41 matches in all competitions, a run dating back to November 2014, but this was a mighty surprise nonetheless.
Arsenal started their 18th successive group stage campaign well enough, Giroud the primary threat for much of the first quarter – his bullet header was superbly saved by Eduardo and his deflected effort from close range then struck a post – but the visitors’ superiority in possession resulted in only a handful of clear-cut chances.
Dinamo looked well set to counter even when on the back foot and it was not entirely unexpected when they went in front. Pivarić’s run forward from left-back was expertly picked out by El Arabi Hilal Soudani and though David Ospina thwarted his initial effort, the ball ricocheted in.
Giroud’s dismissal five minutes prior to the interval only served to compound Arsène Wenger’s problems. Indeed half-time looked to have come at the right time. Just two minutes after the break, however, Soudani was denied by the woodwork when Arsenal failed to clear a corner.
They did not learn their lesson.
With just shy of an hour on the clock, Paulo Machado whipped in a corner from the left, Junior Fernandes shrugged off his marker and headed past Ospina.
Walcott, off the bench, gave the Gunners hope when he latched onto Alexis Sánchez’s pass and slid past Eduardo. It was not enough, though; the Gunners’ upcoming double-header with Bayern München looms larger than ever.