Arsenal reached the Champions League knockout stage for a 13th consecutive season as they outclassed Montpellier and Schalke beat Olympiakos.
The Gunners struggled for momentum in a disappointing first half that saw Laurent Koscielny head against the bar.
But they improved after the break and Jack Wilshere scored his first goal since returning from injury with a chipped finish from close range.
Lukas Podolski sealed the win with a stunning volley as Montpellier faded.
It was an unstoppable strike that will be replayed many times over - a fitting way to secure a place in the last 16.
Schalke's home victory over Olympiakos keeps the Germans top of Group B on 11 points, one clear of Arsenal with one game left.
Olympiakos, who host Arsenal on 4 December, are third on six points and will drop into the Europa League, while Montpellier remain bottom with just one point from five matches.
This was not a vintage win and Arsenal looked disjointed until breaking the deadlock, but they can be pleased with the result and will now attempt to finish above Schalke in top spot.
French jinx ended
This was Arsenal's first home Champions League win against a French side. Their four previous matches ended in two defeats and two draws
For a club competing in the Champions League for a 15th consecutive season, it was remarkable that Arsene Wenger's men had never previously beaten a French club at home in the competition.
Saturday's morale-boosting victory over Tottenham, coupled with Montpellier's domestic and European struggles this season, gave the Gunners hope of bucking that trend.
But in the early stages Arsenal struggled to impose themselves or establish rhythm, misplacing a number of passes.
They looked nervous at the back and after Thomas Vermaelen was easily beaten by Remy Cabella on the right, Wojciech Szczesny flapped at Geoffrey Jourdren's cross from the left.
Arsenal almost took the lead when Koscielny rattled the woodwork with a thumping header from Vermaelen's left-wing centre, but that was their only chance of note in the opening half hour.
The match soon opened up, though, and Szczesny rushed out to foil Anthony Mounier before Podolski twice drilled wide.
Wenger's side came out for the second half with more urgency and their reward soon arrived.
Vermaelen crossed from the left for Giroud to cushion a header into the path of Wilshere, and the 20-year-old dinked a neat finish over Jourdren for his first goal since November 2010.
The home nerves were settled and with Montpellier's supporters showing more energy than their team, Arsenal struck again.
Alex Oxlade-Chamberlain worked his way in from the right and fed Podolski on the edge of the box. The German found Giroud and then met his lofted return pass with a stunning volley past Jourdren.
Santi Cazorla and Giroud both went close to extending the lead, with Montpellier occasionally threatening on the counter-attack, but by now the outcome was not in doubt and Arsenal could celebrate.
- 01 Szczesny
- 03 Sagna
- 04 Mertesacker
- 05 Vermaelen
- 06 Koscielny Booked
- 08 Arteta
- 10 Wilshere
- 15 Oxlade-Chamberlain (Ramsey - 69' )
- 19 Cazorla Booked (Coquelin - 84' )
- 09 Podolski
- 12 Giroud Booked (Gervinho - 84' )
- 24 Mannone
- 25 Jenkinson
- 28 Gibbs
- 16 Ramsey
- 22 Coquelin
- 23 Arshavin
- 27 Gervinho
- 16 Geoffrey Jourdren
- 03 Mapou Yanga M'Biwa
- 05 Bedimo Booked
- 12 Congre
- 21 El Kaoutari
- 25 Deplagne Booked
- 10 Belhanda
- 13 Estrada (Joris Marveaux - 79' )
- 20 Remy Cabella (Emanuel Herrera - 68' )
- 08 Mounier
- 09 Charbonnier (Martin - 68' )
- 01 Laurent Pionnier
- 04 Hilton
- 27 Jeunechamp
- 06 Joris Marveaux
- 14 Pitau
- 28 Martin
- 11 Emanuel Herrera