Perhaps most importantly it keeps City in control of their own destiny but it felt like a more significant win as Pep Guardiola claimed a major scalp in his bid to turn the club into European heavyweights.
The manner of the victory made it all the more remarkable, with City fighting back from Lionel Messi’s first-half goal.
Barcelona dominated the first half but once Ilkay Gundogan had levelled after sloppy defending, they shook off all fear and fully deserved their comeback.
Kevin de Bruyne curled in a brilliant free-kick before Gundogan added a second from a Barca-esque counter-attack to round off a night that could finally see City fall in love with the European competition.
They booed the Champions League anthem as per usual, but there is no doubting this was one of the great performances at the Etihad.
Barcelona may have been without Gerard Pique, Andreas Iniesta and Jordi Alba but they still featured the daunting attacking trio of Messi, Luis Suarez, and Neymar.
Guardiola showed no fear in his team selection, starting with four attacking midfielders and recalling Sergio Aguero, who was left out of the 4-0 defeat at the Nou Camp two weeks ago.
It left just Fernandinho to protect the back-four against the holy trinity and it looked a huge gamble for a side that was torn apart by the same trio a fortnight ago and had kept just one clean sheet in 10 games.
It looked like it would backfire in a first half where Barca dominated possession. Ivan Rakitic and Sergio Busquets strolled through wide open spaces in midfield while the front three interchanged exquisitely.
The opener came in the 21st minute with a goal from a lightning quick break — and one of the sort that home fans have been used to seeing from their own side since Guardiola took over in the summer.
De Bruyne’s deep free-kick from 35 yards dropped for Aguero but when his shot was blocked by Javier Mascherano, the ball dropped for Messi to set up a break he was destined to finish. He picked out Neymar and the Brazilian drove at the barren City defence before picking out his team-mate to roll the ball under Willy Caballero.
That made it six goals in four games against Guardiola teams — his fourth this season — and threatened to puncture all of City’s hope as they threatened a second.
Neymar fired a near-post shot that was tipped wide by Caballero while Suarez couldn’t stretch his neck muscles enough to head in Messi’s cross from eight yards.
It could have been a lot different had City been awarded a 10th minute penalty when Samuel Umtiti stood on Raheem Sterling’s foot in the box, but Hungarian referee Viktor Kassai booked the England winger for diving.
That decision had City fans fuming, particularly after he had twice been brought down by fullback Lucas Digne without a hint of a yellow card.
Sterling was City’s biggest threat and claimed the assist that dragged City back into the contest. Sergi Roberto’s slack pass across Barcelona’s back line fell to Aguero, 30 yards out. He found the overlapping Sterling, who kept his composure to tee up Gundogan at the back post.
City could have been ahead before the break when Fernandinho dragged a shot just wide with Aguero agonisingly close to adding a touch.
Barca’s makeshift defence of Digne, Umtiti, and Roberto were finally being exposed with so many big names missing and City pushed for the three points they needed to keep them on the tails of the Spanish champions in second place in Group C.
Sterling wasted a good chance straight after the break when he took a heavy touch as he ran in on goal but the Barca defence was clearly rattled.
City were ahead in the 50th minute thanks to De Bruyne’s brilliant free-kick from 20 yards.
Busquets gave away a clumsy foul on David Silva and De Bruyne curled the ball beyond former City target Ter Stegen, who had taken a step to the wrong side too early.
De Bruyne was inches away from their doubling their advantage minutes later when he just failed to get a touch to Aleksander Kolarov’s cross.
But they were given a huge let-off in the 63rd minute when Suarez nutmegged Otamendi and teed up Andre Gomes, whose fierce strike rattled the crossbar.
Barca were made to pay when City scored their own counter-attacking goal from a Neymar corner.
Substitute Jesus Navas sprinted clear and picked out Aguero in the box and his touch dropped to Gundogan for a brilliant third.
Caballero 6, Zabaleta 6, Otamendi 6, Stones 6, Kolarov 6, Fernandinho 7 (Fernando 59, 5), Gundogan 6, Sterling 7 (Navas 70, 5), Silva 7, De Bruyne 7 (Nolito 87), Aguero 7.
Gunn, Kompany, Clichy, Iheanacho.
Ter Stegen 6, Digne 6, Umtiti 6, Mascherano 7, Roberto 5, Busquets 7, Rakitic 7 (Turan 61, 5), Andre Gomes 6, Neymar 7, L Suarez 7, Messi 7.
Cillessen, D Suarez, Rafinha, Paco Alacacer, Nili Perdomo, Marlon.