Dinamo took the lead against the run of play with an own-goal from Alex Oxlade-Chamberlain after the ball bounced back off him past goalkeeper David Ospina, who had saved Josip Pivaric's shot.
After Giroud's dismissal on 40 minutes, Dinamo doubled their lead through a powerful header by Junior Fernandes.
Despite a late goal from substitute Theo Walcott, Arsenal were left to reflect on another frustrating European away performance.
Gunners boss Arsene Wenger, perhaps with one eye on Saturday's Barclays Premier League trip to Chelsea, made six changes from the team which had beaten Stoke, which included a start for Ospina
Arsenal started brightly as Giroud, preferred in attack to Walcott, saw an early header tipped over.
The English club, in Europe's elite competition for an 18th successive campaign, continued to dominate at the Maksimir Stadium, which felt the force of an earthquake measuring 3.2 on the Richter scale on Tuesday night not long after Wenger's pre-match press conference.
Dinamo had not lost in a formidable run of some 41 matches and last season became the first team to go unbeaten through a Prva Liga campaign.
However, the Croatians had never previously qualified for the knock-out stages of the Champions League, with a 15-game winless run in the competition proper and were yet to beat an English side.
The hosts remained on the back foot as Arsenal pressed, with Oxlade-Chamberlain next away down the right. The England midfielder crossed for Giroud, whose near-post header hit the post and rebound struck the goalkeeper on the line.
On 24 minutes, Dinamo went ahead completely against the run of play.
Pivaric was played into the left side of the Arsenal penalty area inside Mathieu Dubuchy. His near-post effort was saved by Ospina, but cannoned back into the net off Oxlade-Chamberlain.
Arsenal's evening got worse five minutes before half-time when Giroud was sent off.
The France striker, who had already collected an earlier caution for dissent, tripped Daniel Ivo Pinto, which gave Romanian referee Ovidiu Alin Hategan little option but to issue a second yellow card followed by a red.
Dinamo almost doubled their lead at the start of the second half when El Arbi Soudani glanced a header against the far post, with the rebound scrambled behind.
It was 2-0 on 57 minutes when Fernandes got above three Arsenal defenders to head home a left-wing corner at the near post.
Wenger had seen enough, and soon made a treble substitution as Walcott, who once scored a hat-trick for England here, Francis Coquelin and Joel Campbell all came on.
Walcott reduced the deficit on 79 minutes when he produced a cool finish after sprinting clear onto Sanchez's pass down the right, but there was to be no late drama despite some five minutes of added time.
Reaction to Arsenal defeat
Arsenal's Champions League campaign got off to a terrible start as they were beaten 2-1 by Dinamo Zagreb in Croatia.
The sending-off of striker Olivier Giroud did little to help their cause and, despite Theo Walcott's late goal, they were left empty-handed.
Typically, strong opinions were expressed during and after the game and here, we collates some of the reaction.
"I get a lot of stick from Arsenal fans for comments I make but I'm not going to sit here and say Arsenal can make six changes against Dinamo Zagreb and win the game. We're not good enough to do that what we did tonight," the club's second-highest goalscorer, Ian Wright, told BT Sport.
"I would have started Walcott, just because he played and scored against Stoke. He has the momentum but at the moment, Giroud doesn't seem to be in the right place. He got booed off for France and it's not quite happening for him. This is Theo's time."
Also on BT Sport, former Liverpool captain Steven Gerrard said: "I'm a huge fan of Arsene Wenger. I love the way he plays but they still need a world-class centre-back, world-class central midfielder and a world-class striker. Straight through the spine of the team, they need three big hitters."
Several personalities also reacted on Twitter:
"Giroud, who frankly has been hopeless, has been sent off. Arsenal, a goal down, are under the cosh" - BT Sport host Gary Lineker goes in heavy on Giroud.
"Fool. #Giroud" - Piers Morgan places the blame at Giroud's door too.
"I can quite understand why Wenger didn't buy any outfield players in the transfer window. We look so impressive. #afc" - Morgan does sarcasm too.
"Is anyone really surprised at this absolute toilet from Arsenal tonight? We all moaned in summer, we all knew we had this in us. Same old" - Broadcaster and Arsenal fan Alex Brooker.
"Giroud is becoming an albatross for Arsenal. The reliance on him, the criticism he draws for himself and Wenger, the red card tonight" - Telegraph journalist Paul Hayward on Giroud.
COMMENT RULES: Comments that are judged to be defamatory, abusive or in bad taste are not acceptable and contributors who consistently fall below certain criteria will be permanently blacklisted. The moderator will not enter into debate with individual contributors and the moderator’s decision is final. It is Belfast Telegraph policy to close comments on court cases, tribunals and active legal investigations. We may also close comments on articles which are being targeted for abuse. Problems with commenting? firstname.lastname@example.org