City fell behind in the first half to a Lionel Messi strike and were being outplayed by the La Liga champions.
But they found their rhythm after Ilkay Gundogan’s equaliser and were comfortably the best side for the remainder of the match.
Guardiola admitted his side still lack the experience of some of their more illustrious European counterparts – but says results like the one they achieved against Barcelona are vital in laying foundations for future success.
“If you talk about the first 30 minutes, we are not able to compete against the best teams,” he said afterwards. “This club was 25, 30 years out of Europe, while Barcelona, Real Madrid, Bayern Munich were playing every year.
“We need time. The people don’t give us time but the club give us time.
“We compete against them one time, we play long balls because we are not ready to keep the ball.
“We are three or four months into playing a different way. We try and now we won against the best team.
“For the future generations they are going to realise: wow, these guys are able to beat the best team.
“It is the same when the group led by Joe Hart, Vincent Kompany won the Premier League twice, so the players who come now know they have to do that.
“You need 10 years, 15, 20 to stay there. We are going to reduce that time to leave nights for the Manchester City fans like today.”
Guardiola was quick to praise Sergio Aguero for his tireless display leading the City attack.
The Argentine missed the game at the Camp Nou a fortnight ago – but has since returned to the side and displayed his best form.
“He played awesome,” Guardiola said. “It was just one game he didn’t play in Barcelona because in Camp Nou I wanted more control than here.
“Sergio is so important. Without him we cannot achieve our targets. I am so happy for him because he was so happy.”