Pep Guardiola’s side had lost 4-0 away in Barcelona two weeks ago but they showed tremendous character to come from a goal down and beat the Spanish champions 3-1 at the Etihad Stadium.
The inevitable Lionel Messi put the visitors in front at the end of a stunning breakaway with his 90th Champions League goal.
However, City pounced on a Sergi Roberto mistake as Raheem Sterling set up Gundogan to equalise six minutes before halftime.
A Kevin De Bruyne free-kick gave City the lead six minutes into the second half and, although Andre Gomes rattled the bar for the visitors, the Premier League side were on top and they secured the victory thanks to Germany midfielder Gundogan’s second of the night.
“Today is a good step. We play against a great team and we compete. Now they will realise, “Wow, we won against the best team,” said Guardiola.
Barcelona remain top of Group C and need only draw away to Celtic in their next game to progress, while City now know a win away to Borussia Moenchengladbach next time out will take them through.
“It’s a shame that after the error we made for the first goal, from them on we had a bad time,” said Barcelona coach Luis Enrique.
In Germany, Celtic kept their hopes of at least snatching third place and a Europa League spot alive as they came from behind to draw 1-1 with Gladbach at Borussia-Park.
Lars Stindl put the hosts ahead in the first half but Moussa Dembele levelled from the spot on 76 minutes with a penalty after he had been fouled by Julian Korb, who was sent off. – AFP