Pep Guardiola said he had to reiterate to his players they had beaten Real Madrid 4-3 in a Champions League classic on Tuesday despite the disappointment of not killing off their semi-final tie at the Etihad.
Kevin De Bruyne, Gabriel Jesus, Phil Foden and Bernardo Silva were on target for Guardiola's men, who held a two-goal lead three times.
But Karim Benzema's double and a brilliant individual effort from Vinicius Junior gave Madrid hope of another famous Champions League fightback at the Santiago Bernabeu on 4 May.
Guardiola lamented letting Liverpool escape "alive" in the Premier League title race after a 2-2 draw at the Etihad nine days ago and will have similar regrets after a blistering opening that could have seen City go 4-0 up inside half an hour.
"I want to try to convince to my players that we won the game and we have to go to Bernabeu to play like we did today," said Guardiola.
"It doesn't matter if we would have won by one goal or four, in the Bernabeu you have to show who you are otherwise there is no chance. It is a good test for us."
Madrid, the record 13-time European champions, were playing in their 30th semi-final to City's third, but the English champions lived up to their tag as pre-tie favourites early on.
Only 92 seconds had passed before the Madrid rearguard was breached by Riyad Mahrez's quick feet and perfect cross for De Bruyne to stoop and head past Thibaut Courtois.
Jesus pounced to make it 2-0 after just 10 minutes when David Alaba failed to deal with De Bruyne's cross.
"We started the game very badly, we were too soft in conceding the goals," said Madrid boss Carlo Ancelotti.
"After that the team showed what they have shown recently, a great reaction.
"We have to defend better. If we defend better in the seocnd leg we'll win. If we don't, we will be out."
The Spanish champions-elect were without Casemiro and his absence showed as City cut through midfield on the counter-attack at will.
Guardiola was furious with Mahrez after he selfishly smashed into the side-netting with Foden awaiting the cross for a tap-in.
Moments later it was Foden who was guilty of wasting a glorious chance when he dragged wide another pinpoint De Bruyne through ball.
Benzema rouses Madrid
Benzema dragged Madrid back from the dead to see off Paris Saint-Germain and Chelsea in the previous two rounds and again rose to his side's rescue before half-time.
The Frenchman cushioned in his 40th goal of the season off the post from Ferland Mendy's cross.
"We never gave up," said Benzema. "Sometimes you have to grin and bear it and we did that. City are a great team but kept working hard and got the three goals."
Yet, Madrid's good work in steadying the ship towards the end of the first half was undone in another slow start after the break.
Mahrez hit the post when one-on-one with Courtois before Dani Carvajal blocked Foden's follow-up on the line.
Fernandinho was forced to deputise at right-back after replacing the injured John Stones in the first half.
And the City captain had a major role to play in two goals in two minutes at either end.
Firstly, he picked out Foden to restore City's two-goal lead.
But the 36-year-old showed his age as Vinicius sprinted clear of his Brazilian compatriot from the halfway line before slotting past Ederson.
City continued to create chances at an alarming rate for Ancelotti but it took something special when they did finally get a fourth.
Oleksandr Zinchenko was fouled on the edge of the area, but Romanian referee Istvan Kovacs played advantage and Silva thrashed into the top corner.
Again City failed to put the tie to bed as Mahrez was inches away from finding the far corner from the narrowest of angles.
But there was a final twist eight minutes from time when Aymeric Laporte handled inside the area.
Benzema was the coolest man in the stadium as he chipped the spot-kick down the middle to leave the tie on a knife-edge headed back to the Spanish capital.