Manchester City are through to the Champions League knockout stages as Group A winners after producing an entertaining 2-1 win over Paris Saint-Germain.
Kylian Mbappe's ninth goal of the season on his 50th Champions League appearance fired the visitors into a surprise lead early in the second half before Raheem Sterling levelled in the 63rd minute.
After Neymar missed a golden chance to put PSG back in front, substitute Gabriel Jesus finished off a fine team move to seal the win for City
The result means City top the group on 12 points and are through to the knockout stages. For PSG, they will have to settle for the runners-up spot on eight points.
Manchester City kept PSG parked in their own half for the majority of the first half and had six shots valiantly blocked, but it was Ilkay Gundogan who had the best opportunity to give City the lead past the half hour mark.
Joao Cancelo's dangerous cross was hastily cleared by Nuno Mendes before the Germany international, who was in time and space, saw his strike clatter off Keylor Navas's left post.
Moments later and Riyad Mahrez attempted to curl a shot into the bottom corner, but the Costa Rica international was able to expertly parry it behind.
PSG are always a threat on the counter-attack and Mbappe was sent through on goal by Neymar just before half-time, but the 22-year-old's curled effort looped harmlessly over the bar.
The visitors broke the deadlock against the run of play five minutes into the second half. Messi's deflected cross fell to the feet of Mbappe who coolly slotted the ball into the net through Ederson's legs.
With PSG legs tiring, City did get a deserved equaliser just past the hour mark as Sterling neatly slotted in a dangerous cross from Kyle Walker at the far post.
Neymar could and perhaps should have put PSG ahead again ten minutes later, but he slid his close-range shot narrowly past the post after playing a neat one-two with Angel Di Maria.
And the former Barcelona forward was ultimately made to pay for his miss almost immediately by Brazil team-mate Jesus. He received Bernardo Silva's pass - after a masterful touch - and slotted his shot past Navas to give City the deserved victory.
Besiktas 1-2 Ajax
Inter Milan 2-0 Shakhtar
Club Brugge 0-5 RB Liepzig
Man City 2-1 PSG
ATL Madrid 0-1 AC Milan
Liverpool 2-0 Porto
Sporting 3-1 Dortmund
Sheriff 0-3 Real Madrid