Olivier Giroud was Arsenal's hero as the Gunners and Chelsea succeeded where Manchester United failed a day earlier to advance to the draw for last 16 of Champions league.
The london clubs celebrated on the final night of group stage action as Roma, Dynamo Kiev and the Belgian underdogs Gent also secured their places in the knockout phase yesterday.
Arsenal had needed to overturn a 3-2 defeat at home to Olympiakos earlier in the season when they faced the Greek champions away.
Arsene Wenger's side had lost in Piraeus on three separate occasions in recent seasons but France striker Giroud gave them a first-half lead and crucially doubled their advantage shortly after the restart following superb play by Joel Campbell.
Group winners Bayern Munich finished with a 2-0 victory at Dinamo Zagreb thanks to a second-half Robert lewandowski brace as Thomas Mueller missed a late penalty and coach Pep Guardiola claimed his 100th win.
Enduring a difficult season domestically, Chelsea progressed to the last 16 as Group G winners with a 2-0 win at home to Jose Mourinho's old side Porto as Ivan Marcano's early own goal put them ahead and Willian scored in the second half.
Elsewhere, Roma advanced as runners-up in Group E despite a dreary 0-0 draw at home to BATE Borisov in the Italian capital.
That was because Bayer leverkusen could only draw 1-1 at home to group winners and defending European champions Barcelona in Germany, unable to find the winner they needed after the in-form Javier Hernandez cancelled out lionel Messi's opener.
Maxwel Cornet and Alexandre lacazette scored to give already eliminated lyon a consolation win, although it was all academic for Valencia anyway as Gent's 2-1 victory at home to Zenit St Petersburg took them through.
laurent Depoitre and Danijel Milicevic netted for Gent either side of a strike by the prolific Artem Dzyuba as the Buffalos became the first Belgian club to reach the knockout stages of the UEFA Champions league.