Arsenal bowed out of the Champions League after a spirited 3-0 second-leg victory over Milan saw them fall just short of a remarkable comeback.
Trailing 4-0 after a nightmare performance at the San Siro a fortnight ago, Gunners boss Arsene Wenger knew his side faced a tall order to rewrite history and become the first team to recover from such a deficit in the competition.
For an hour or so at Emirates Stadium tonight it appeared as the record books would be torn up, as the Gunners reduced the deficit with first-half goals from Laurent Koscielny, the impressive Tomas Rosicky and Robin van Persie's penalty.
However, the second-half onslaught never came as Milan - who had somehow managed to go out to Deportivo La Coruna in the 2003-04 quarter-finals, losing the second leg in Spain 4-0 having won 4-1 at home - regrouped and were not really troubled during the closing stages.
Despite all their courageous endeavour, Arsenal must now concentrate all of their energy on retaining a place in the top four of the Barclays Premier League to make sure such engaging European nights return next season.
Arsenal needed an early breakthrough, which came after just seven minutes when Koscielny - who had scored an own goal at Liverpool on Saturday - headed in a corner from Alex Oxlade-Chamberlain.
After Van Persie had seen his near-post effort from a tight angle saved, there was a moment of panic in the Gunners defence when Kieran Gibbs was booked after hacking down Stephan El Shaarawy, the 19-year-old making his Champions League debut, following a poor clearance by goalkeeper Wojciech Szczesny.
Arsenal were soon back on the offensive, when after 18 minutes Van Persie's curling 20-yard effort was acrobatically beaten away by Christian Abbiati.
The shaky Milan rearguard was breached again in the 25th minute. Theo Walcott surged down the right, and when his cross was half-cleared by Thiago Silva, the ball dropped to Rosicky who planted it back inside the near post.
The Emirates Stadium faithful, so seething in their criticism of Wenger and his side this season, were now in full voice as the unlikeliest of comebacks was very much now on.
Rosicky, the 31-year-old Czech, was running the midfield, more than making up for injured colleagues Aaron Ramsey and Mikel Arteta.
As half-time approached, Arsenal continued to press.
Oxlade-Chamberlain powered into the right side of the Milan penalty area, when he was sandwiched by Antonio Nocerino and Djamel Mesbah.
It seemed an age before Slovak referee Damir Skomina pointed to the spot and after another delay for the ball to be relaid, Van Persie kept his cool to smash home his 32nd goal of the season.
Despite their dominance, one break for Milan would have changed the whole dynamic of the tie.
The Italians' big chance came just before half-time when El Shaarawy was played into acres of space on the right, but as the goal opened up, the teenager shot wide.
Arsenal started the second half on the offensive, but Milan had now regrouped and were closing down quickly, with Alex Song, the Gunners midfield enforcer, booked after 57 minutes for clattering into Zlatan Ibrahimovic.
Another goal hovered closer when Gervinho went clear on the left side of the Milan box, but his deflected shot hit the legs of the keeper, with Van Persie's follow-up hit straight at a relieved Abbiati.
A careless pass from Szczesny almost proved costly as Ibrahimovic wrestled the loose ball from Song, but shot wide from 25 yards past the backtracking, and embarrassed, Arsenal number one.
Oxlade-Chamberlain was replaced by Morocco striker Marouane Chamakh as Wenger injected a new dimension to the frontline.
Nocerino should have put the result beyond any doubt when he arrived at the back post onto Alberto Aquilani's low cross, but stabbed a tame effort straight at Szczesny.
Walcott, who looked to have picked up a knock, was replaced for the final six minutes by Korean forward Park Ju-young, who has seen little action since his summer move from Monaco - but Arsenal were unable to get a late chance and Milan went through to the quarter-finals.Reuse content