It was a reminder to Zinedine Zidane’s men that all City still needed was just one goal to put them in the driving seat and within sight of the final.
The more likely scorers were Real though and Luka Modric blew a golden chance to give his side some breathing space on 52 minutes when he beat the off-side trap but failed to beat Hart on a one-on-one.
Ronaldo then tested Hart with a powerful header and Bale hit the woodwork as City continued to cling on.
Pellegrini was determined to go down fighting and threw on Raheem Sterling and Kelechi Iheanacho, but it was all too little too late as City failed to land that knockout and decisive blow.
REAL MADRID (4-3-3): Navas; Carvajal, Ramos, Pepe, Marcelo; Isco (Rodriguez 66), Kroos, Modric (Kovacic 88); Ronaldo, Jese (Vazquez 55), Bale. Subs: Casilla, Varane, Danilo, Mayoral.
MANCHESTER CITY (4-2-3-1): Hart; Sagna, Kompany (Mangala 10), Otamendi, Clichy; Fernando, Fernandinho; Navas (Iheanacho 69), Toure (Sterling 61), De Bruyne; Aguero. Subs: Caballero, Kolarov, Bony, Delph.
Referee: Damir Skomina (Slovenia).