Manchester City will go to Real Madrid for the second leg of the Champions league semi-final with a fighting chance after holding the La Liga giants to a 0-0 draw at The Etihad.
Cristiano Ronaldo missed the first leg through injury, and City were reliant on some smart Joe Hart reactions at times, but they stood firm to shut-out the Spaniards and keep the tie alive.
The occasion was a tense one, although there was some amusement on the touchline as Real coach Zinedine Zidane split his trousers.
The drama began before kick-off as Ronaldo, whom Zidane had suggested would be fit after a thigh injury, failed to make the teamsheet.
He was forced to watch from the bench while his Brazilian namesake Ronaldo, a former Real player, looked on from the stands.
The absence of former Manchester United star Ronaldo should have boosted City, as would the sight of their fans waving flags in an impressive pre-game display of support.
City responded well initially with their all-Brazilian central midfield pairing of Fernandinho and Fernando taking an early grip on proceedings.
Even though neither side could muster a shot on target in the opening 45 minutes it was City who were the more positive.
Kevin De Bruyne curled a dangerous ball into the box for Sergio Aguero but Pepe did enough to prevent the Argentinian shooting.
Pepe was booked soon after for taking down a surging De Bruyne on the right and Sergio Ramos was perhaps fortunate to escape a similar fate after fouling Fernandinho in a similar position.
Without Ronaldo, Real were limited in attack. Gareth Bale struggled to get into the game and on the visitors’ rare forays forward Vincent Kompany and Nicolas Otamendi were solid.
City suffered a blow before the break as playmaker David Silva was forced off with a suspected hamstring injury but his replacement Kelechi Iheanacho, scorer of two goals at the weekend, entered to a big ovation.
The hosts had a clear chance early in the second half but Aguero fired over and Real finally started to force their way into the game.
Bale appealed without success for a penalty after stumbling following a challenge from Otamendi and an unmarked Ramos spurned a golden chance when he headed straight at Hart from a corner.
Toni Kroos missed the target with a long-range effort and substitute Jese went close as he leapt ahead of Fernando and headed against the bar. Bale curled an effort wide and Vazquez was also denied a penalty after tangling with Otamendi.
Hart, who had hitherto had a quiet game, then came to City’s rescue with a fine reflex save from a Casemiro header and then did even better to block from Pepe at point-blank range.
City breathed a huge sigh of relief as they weathered that storm and they might even have snatched victory in injury time as De Bruyne had a free-kick tipped over by Keylor Navas.