Gabriel Jesus (right), Joao Cancelo (center) and Bernardo Silva celebrate during City's comeback win.
Manchester City came from behind to defeat Paris Saint-Germain 2-1 on Wednesday as both teams qualified for the knockout stages of the Champions League.
Having been on the back foot throughout the first half, PSG took the lead at the start of the second period when Lionel Messi's deflected cross was finished by Kylian Mbappe.
But the lead lasted little more than 10 minutes as City equalized through Raheem Sterling's poked shot from close range -- just reward for City, which had dominated possession for most of the match.
And with 15 minutes remaining, Gabriel Jesus grabbed the winner for the home side after he was teed up by Bernardo Silva inside the PSG box.
RB Leipzig's 5-0 win against Club Brugge in the group's other game means that both PSG and City go through to the knockout stages.
The entertaining contest in Manchester -- which pitted two of the Champions League's best sides against each other, both of whom reached the final of the competition in the past two seasons -- came to life in the second half after City had controlled the first 45 minutes.
Pep Guardiola's side could have taken the lead in the game's opening minutes, but Rodri's header was cleared off the line by Presnel Kimpembe.
Then midway through the first half, Man City had further chances as Ilkay Gundogan's powerful shot rattled off the post and Riyad Mahrez had an attempt saved by PSG goalkeeper Keylor Navas.
PSG had few chances and was suffocated by City's passing and high press, but with Messi, Mbappe and Neymar in attack, a breakaway goal always seemed a possibility.
That's exactly what happened at the start of the second half when Messi broke down the left and crossed to Mbappe, who slid a shot through the legs of Ederson to give PSG the lead with his ninth goal of the season.
Mbappe scores PSG's only goal of the night.
Man City continued to attack the PSG goal and hit back through Sterling after Kyle Walker's cross went past Jesus and found the England forward at the back post.
Neymar had a golden opportunity to give PSG the lead on 73 minutes after a slaloming run through the Man City defense, but he pushed his shot wide.
It proved a costly miss, as moments later City took the lead through Jesus' goal, handing his side a deserved victory.
The result means City has 12 points and is guaranteed to finish top of the group with PSG on eight points.
"We're very happy -- very happy with the three points, very happy because we qualified first in the group, which is very important for us, and very happy as well because our fans deserved a good performance and a good win," Silva told BT Sport after the match.