The German striker equalized shortly after Bastian Schweinsteiger's second-half goal, but Arsene Wenger's men could not break down their opponents and exited the Champions League.Bayern Munich stayed on course to become the first side to retain the Champions League by claiming a 1-1 draw to ease past Arsenal.
The holders dominated much of Wednesday's round of 16 second leg at the Allianz Arena and, despite being unable to secure a deserved win on the night, they progressed 3-1 on aggregate following a first-leg victory in London.
Arsenal beat Bayern 2-0 in the second leg at the same stage of the competition last year but a repeat performance never looked likely and Bastian Schweinsteiger put Pep Guardiola's side in front early in the second half.
Arsene Wenger urged referee Svein Oddvar Moen to give his side a fair chance before the match and the Norwegian official did just that by allowing Lukas Podolski's equalizer to stand after he appeared to push Philipp Lahm shortly after Schweinsteiger's opener.
Lukasz Fabianski, stepping in for the suspended Wojciech Szczesny, saved Thomas Muller's stoppage-time penalty after Laurent Koscielny upended Arjen Robben but the tie was all over by then.
The Bavarian giants progressed on away goals against Wenger's men just over 12 months ago but this was a far more comfortable victory and Bayern was left to dream of becoming the first team since AC Milan in 1990 retain its European crown.
Guardiola had called on his side to be positive and deprive Arsenal of possession and it adhered to his orders in the opening stages, with Schweinsteiger forcing Fabianski into an early save with a long-range drive.
Bayern was dictating the play and Javi Martinez found the back of the net with a volley 26 minutes in but the Spaniard was correctly flagged for offside. Later, Laurent Koscielny was well positioned to get in the way of the lively Robben's shot.
Arsenal was struggling to contain the hosts by that point and Fabianski had to be alert to keep out Mario Gotze's shot as the Gunners weathered the storm to keep Bayern at bay until halftime.
Mesut Ozil was replaced by Tomas Rosicky at the break because of a tight hamstring and Bayern picked up where it left off, but Moen rightly waved play when Robben went down theatrically after bursting into the penalty area.
It appeared to be only a matter of time before Guardiola's team went in front and the opening goal duly arrived 10 minutes after the break when Ribery was afforded too much time to pick out Schweinsteiger and the midfielder finished clinically.
Bayern was only in front for two minutes but had every right to feel aggrieved with Podolski's equalizer after its former player appeared to push Germany teammate Lahm before beating Manuel Neuer at his near post with a vicious left-footed strike.
Mario Mandzukic was then too casual when presented with a great chance to put Bayern back in front and Fabianski was alert to the danger.
Fabianski then stopped Muller's stoppage-time spot kick after Koscielny had brought down Robben, but that was never going to prove costly as Bayern cruised through.