City capitalised on two shocking mistakes by Raphael Varane to get their goals, with Raheem Sterling and Gabriel Jesus scoring either side of a Karim Benzema strike for the visitors in this last 16 second leg, played at an empty Etihad Stadium.
After winning by the same scoreline in Madrid back in February, before the coronavirus forced the competition into hibernation, Guardiola's team advance 4-2 on aggregate to the final tournament in Lisbon. They will now play Lyon there in the quarter-finals next Saturday.
Guardiola would also have been delighted to claim the scalp of Zidane, who had never been knocked out of Europe's elite club competition as Real coach, leading them to three consecutive victories between 2016 and 2018 in his first spell before returning to the job last year.
"It is important, we beat them twice. Zinedine Zidane never lost knockout games," Guardiola told BT Sport.
"You see the calm and personality they play with, they are good, but we are here to try and win the Champions League.
"It is one step, if we think that is enough we will show how small we are. If you want to win you have to beat the big clubs."
He added: "We are more than satisfied. The players will go to Portugal to try to make the next step. We know exactly what team we beat."
The circumstances may be highly unusual, but this is still City's finest Champions League result, their most significant victory in a knockout tie.
City's best performance in the competition remains a run to the semi-finals in 2016, when they went out rather limply to Real.
Now, with only two former winners still involved in Bayern Munich and Barcelona, City should very possibly be considered the favourites to win the competition in Lisbon on August 23.
If they do so, the victory would taste all the sweeter coming so soon after their successful appeal to the Court of Arbitration of Sport against a two-year ban from Europe for Financial Fair Play breaches.
However, Guardiola will be wary of Lyon, who took four points off City in the 2018/19 group stage.
As for Real, they missed the suspended Sergio Ramos but were undone by mistakes by their other first-choice centre-back.
Varane was dispossessed inside the box in the ninth minute allowing Sterling to put City ahead, and his poor headed backpass attempt gifted Jesus another goal midway through the second half.
But they will get over this.
They have dined out on success in the Champions League in recent years yet their main objective after the coronavirus shutdown was to win La Liga and they did that.
"Ninety-five percent of what we did this year was excellent. We have to be very proud of the team, of what we have done this season," Zidane said.
It was already going to be an uphill struggle for them in the absence of Ramos, sent off late in the first leg, and their task became even harder after they conceded an early opener.
City's high pressing paid off as Varane was barged off the ball in his own area by Jesus, who squared for Sterling to score.
There was a response from the 13-time European champions, though, with Benzema and Eden Hazard forcing saves from Ederson before their equaliser arrived in the 28th minute.
A fine move ended with Benzema feeding Rodrygo and the young Brazilian clipping in a cross from the right for the Frenchman to head in from the edge of the six-yard box.
It was his 65th Champions League goal, putting him one clear of Bayern Munich's Robert Lewandowski on the overall list and behind only Cristiano Ronaldo, Lionel Messi and Raul.
However, the tie was effectively ended by another Varane blooper.
The Frenchman struggled with an awkward high ball downfield and his header back towards Thibaut Courtois was short, allowing Jesus to prod it beyond the goalkeeper and in.
Real will not return to Lisbon, where they won the Champions League in 2014, but the dream remains alive for Guardiola and City.