Meanwhile, Chelsea had to settle for a 0-0 draw away to Dynamo Kiev but reigning European champions Barcelona won in Belarus and Bayer Leverkusen played out a thrilling 4-4 draw with Roma in Germany yesterday.
Bayern arrived in London having won every game this season and they dominated possession for much of an absorbing Group F encounter.
However, they only remained on level terms at the break thanks to a stunning save by Manuel Neuer to keep out a header from point-blank range by the unmarked Theo Walcott.
The Germany goalkeeper came and missed a free-kick, allowing substitute Giroud to bundle the ball into the net.
Arsenal then secured the points that keep alive their chances of progressing to the last 16 when Ozil's finish from Hector Bellerin's assist crossed the line despite Neuer's best efforts to keep it out.
The Gunners remain bottom of the group with a trip to Bayern to come next, but the four sides are separated by just three points after Olympiakos won 1-0 in Croatia in the night's other game thanks to a late Brown Ideye goal.
"Bayern had more possession than us, but we decided to make it tight in our final third and catch them on the break."
- Mourinho targets officials -
==============================
Chelsea remain in a precarious position in Group G after a 0-0 draw with Dynamo Kiev in chilly Ukraine as the recalled Eden Hazard and Willian both hit the woodwork for the visitors.
