Gabriel Jesus's late winner saw Manchester City come from behind to beat Paris Saint-Germain 2-1 on Wednesday, sealing top spot in Group A for Pep Guardiola's men.
Mauricio Pochettino, who has been linked with City's neighbours Manchester United, needed his team to avoid defeat if they were to stand a chance of winning the group, but ultimately the hosts' dominance told.
Guardiola would have been frustrated with the amount of chances City spurned in the first half, though, particularly given Kylian Mbappe then put PSG in front four minutes into the second period.
PSG had improved considerably as an attacking threat, but City upped the intensity again and deservedly levelled through Raheem Sterling, before substitute Jesus completed an impressive victory.
RB Leipzig's win at Club Brugge means PSG will qualify for the knockout phase regardless, however.
City appeared in control almost from the outset, first going close after six minutes when Rodri's glancing header was cleared off the line by Presnel Kimpembe.
Keylor Navas then denied Riyad Mahrez at full-stretch shortly after Ilkay Gundogan hit the post from the centre of the box, with PSG creating precious little at the other end.
But PSG took a rare chance early in the second half, when Mbappe drilled through Ederson's legs after Lionel Messi's cross at the end of a flowing move fell kindly at the back post.
City's equaliser 13 minutes later was similarly well-worked, though, Rodri picking out Kyle Walker at the far post, whose pass across the face of goal was nudged on by Jesus for Sterling to prod home.
Jesus then got the winner 14 minutes from time, guiding in a composed finished after being delicately teed up by Bernardo Silva.
What does it mean? Guardiola turns it around from the bench
City were without Phil Foden, Kevin De Bruyne and Jack Grealish – an awful lot of firepower and creativity.
To Guardiola's credit, at no point did it look like City were missing any of them. They were a cut above for most of the match, their 1.99 expected goals to PSG's 1.07 showing they were deserved winners.
Of course, it took them longer than was ideal to find the net, but Jesus had a role in both goals having replaced Oleksandr Zinchenko, with Guardiola's change paying off handsomely.
Bernardo's Silva lining
Any one of several City players could have been in line for special praise here, but Silva was particularly impressive and completed all of his 47 passes, including a touch of ingenuity for the winner.
Messi lacks influence
While PSG's goal did come from a deflected Messi pass, he otherwise created only one chance over the 90 minutes. He was quiet for much of the match, also having just a single shot.
Key Opta facts
– City's victory ensures they will finish top of their Champions League group for the fifth consecutive season – just the second English side to do so in the current format of the competition after Manchester United between 2006-07 and 2010-11.
– This is the first time Paris Saint-Germain have opened the scoring in the second half but gone on to lose a Champions League game.
– Sterling scored his 23rd Champions League goal, with Wayne Rooney (30) and Paul Scholes (24) the only Englishmen to net more in the competition than the City star.
– Mbappe became the second-youngest outfield player to reach 50 Champions League appearances (after Cesc Fabregas). He has been involved in 48 goals in his 50 appearances in the competition so far (29 goals, 19 assists).
– Jesus both scored and assisted in a Champions League game for just the second time (34th appearance), previously doing so in August 2020 against Real Madrid.
Sunday sees City host West Ham and PSG go to Saint-Etienne in their respective league campaigns. Their Champions League group concludes on December 7 when Club Brugge visit the Parc des Princes and Guardiola's men face RB Leipzig in Germany.