Ilkay Gundogan scored twice as Manchester City came from behind to claim Champions League revenge over Barcelona and pull within two points of the Group C leaders with a 3-1 win at the Etihad Stadium on Tuesday.
A 4-0 defeat for City at Camp Nou a fortnight ago highlighted what many believed to be a gulf in quality between Pep Guardiola's past and present clubs.
But the home side were good value for their victory on home soil and their high-tempo, high-pressing approach to the second half reaped its rewards.
Lionel Messi had given Barcelona the lead on the counter-attack after City were denied a penalty for a Samuel Umtiti challenge on Raheem Sterling.
Gundogan's leveller came somewhat against the run of play prior to the interval, but it sparked an upturn for City, who grew in belief as the match went on.
Kevin De Bruyne's 51st-minute set-piece fooled Marc-Andre ter Stegen to move City in front, before Gundogan wrapped up a first victory over the Catalan giants in six attempts 16 minutes from time.
Barca, who remain top of the group, must now wait to book their place in the last 16.
Sergio Aguero, back in City's Champions League starting XI having been limited to a substitute appearance in the reverse fixture, was sent clean through on goal only to be halted by a tardy linesman's flag early on.
That decision was vindicated by replays which showed the Argentine had indeed strayed beyond the last defender, but referee Viktor Kassai was soon the target of a more vitriolic chorus from the home fans.
Sterling went to ground under minimal contact as he tried to find a way beyond Umtiti just inside the Barca box, but it was the England winger - deemed to have dived by Kassai - who saw yellow.
Barca's goal threat had been limited before they took the lead in a move that started with a City free-kick after 21 minutes.
An Aguero shot was blocked and fell kindly for Messi, who spread the ball wide for Neymar to venture forward down the left flank.
Messi matched his attacking colleague's run and was on hand to collect a squared ball on the edge of the box, taking two touches before slotting beyond goalkeeper Willy Caballero for his 16th goal in 14 Champions League fixtures against English opposition.
Gundogan's ambitious strike from long distance after 24 minutes - punched clear by Marc-Andre ter Stegen - represented City's first shot on target and it was the Germany international who netted the hosts' equaliser against the run of play.
With Barca enjoying an increasingly healthy share of possession as the half progressed, a loose Sergi Roberto pass eventually found its way to Sterling, whose ball across the face of goal teed up Gundogan for a simple finish.
Gifted De Bruyne an opportunity
Roberto was at fault again when Fernandinho was presented with a chance that crept just wide of the right-hand upright.
Sterling's first touch let him down when he received the ball in a promising position as City started the second half brightly, but a clumsy Sergio Busquets challenge on David Silva less than 25 yards out gifted De Bruyne an opportunity to put the hosts in front.
Ter Stegen took a step in the wrong direction to leave himself off balance and with too much to do as the Belgian's curling free-kick flew into the top-right corner.
Guardiola's men continued to press, Aguero heading just wide from a David Silva delivery before De Bruyne came agonisingly close to connecting with a low Aleksandar Kolarov cross.
City still had to be careful at the back, though, and Andre Gomes rattled the crossbar when he had more time to consider his shot.
Gundogan gave City the breathing space their second-half performance deserved when he hammered into an open net from a Jesus Navas cut-back, although the ball appeared to deflect off the hand of Aguero on its way through.
And the hosts held on for the victory - a memorable result that extends their unbeaten home run in the competition to a club-record seven matches, while announcing Guardiola's City as genuine European contenders.