Manchester City, seemingly down and out as they trailed Bayern Munich 2-0 after 12 minutes, hit back for a stunning 3-2 away win to end the Germans team's run of 10 consecutive Champions League wins on Tuesday night.
Bayern appeared to be strolling to another win as Thomas Müller and Mario Götze, helped by poor defending, put the defending champions quickly in control. City, missing several regulars, composed themselves and David Silva began the fightback with a goal just before the half-hour.
Aleksandar Kolarov levelled with a penalty in the 59th minute and James Milner side-footed the winner three minutes later.
Both teams had already qualified before kickoff and finished Group D with 15 points each, Bayern keeping top spot on their head-to-head record.
Viktoria Plzen edged into third place with a 2-1 win over CSKA Moscow.
Phil Jones's second-half winner against Shakhtar Donetsk brought David Moyes some blessed relief and ensured Manchester United's tortuous week ended with the knowledge they will be guaranteed a seeding for the Champions League knockout round draw.
After 280 minutes without a goal, United finally found the net when Jones delivered a powerful finish to Robin van Persie’s corner.
It was enough to see off a dangerous Shakhtar outfit, who had more shots than their hosts, on and off target, but failed to condemn Moyes to a third straight home defeat.
A scrappy, stuttering and, at times, unconvincing performance will not be enough to silence United’s critics — in his half-time analysis on ITV former skipper Roy Keane declared Ashley Young to be not good enough to play for his former club. However, in what has become a miserable debut campaign on the domestic front, Moyes at least has a European tie to look forward to next spring, with many of the tournament heavyweights being avoided when the last 16 draw is made next Monday courtesy of them finishing top of Group A, unbeaten.
Bayer Leverkusen followed United thorugh after Oemer Toprak struck in a 1-0 win at Real Sociedad. The Bundesliga side's victory lifted them above Shakhtar into second place.
Leverkusen were deserved winners at the Anoeta against already eliminated Sociedad, and midfielder Gonzalo Castro and forward Stefan Kiessling hit the post either side of Toprak’s goal four minutes after halftime.
Tuesday night's winner-takes-all Champions League encounter between Galatasaray and Juventus was abandoned after only 33 minutes due to a severe hailstorm in Istanbul.
The Italian champions needed to avoid defeat at the Turk Telecom Arena to book second place in Group B and progression to the knockout stages, while a Galatasaray victory would have seen Roberto Mancini’s men safely through to the last 16.
Snow and hail began to seriously affect play after about 20 minutes and the game was ultimately suspended in the 33rd minute following discussions between Uefa delegates, Pedro Proenca’s refereeing team and both sets of players.
A statement published on the official Uefa Champions League Twitter account read: “The #UCL fixture between @GalatasaraySK & @juventusfc has been abandoned after a snow storm caused the pitch to become unplayable. According to article 11.04 of the competition regulations, the remaining match time must be played either tomorrow or on a reserve date or other date set by the Uefa administration.”
Juventus had enjoyed the better chances of the interrupted clash in Turkey and Fernando Llorente missed a gilt-edged chance to put the Serie A side ahead in the 16th minute. At the end of a swift counter-attack, the Spanish striker found himself in a good position in the Gala box to control Arturo Vidal’s cross before flicking it just wide of a post.
Former Juve midfielder Felipe Melo had earlier tested goalkeeper Gianluigi Buffon from distance while Selcuk Inan sent a free-kick wide of the visitors’ goal before the snow began to fall.
Groundsman attempted to clear snow from the lines marking the pitch but the weather showed no signs of abating and brought an early end to proceedings. Gala were level on four points with FC Copenhagen going into Tuesday night's fixtures but have a better goal difference against the Danes, who were hosting already-qualified Real Madrid in the other group game.
Madrid ran out comfortable winners with goals from Luka Modric and Cristiano Ronaldo.
Benfica got the better of a makeshift Paris St Germain side with a 2-1 comeback win on Tuesday thanks to goals from South Americans Lima and Nicolas Gaitan but it wasn't enough to secure a passage to the knockout rounds of the Champions League.
The Lisbon club needed to better Olympiakos' score in Athens, but the Greek side beat Anderlecht 3-1 to claim the runners-up spot in Group C and consign third-placed Benfica to the Europa League.
PSG go through as group winners with 13 points, three ahead of both Olympiakos and Benfica.
The visitors’ Uruguayan striker Edinson Cavani slotted home the opener eight minutes before halftime.
Benfica levelled with a penalty from Brazilian Lima after PSG’s Champions League debutant Kalifa Traore brought down Silvio in the box, and Argentinian Gaitan rewarded Benfica for a stronger second-half display with the winner after 58 minutes.