City led 2-0, 3-1 and 4-2 and could easily have gone three - or more - goals up in the first leg of the sides' Champions League semi-final at the Etihad Stadium.
However, a late 'Panenka' penalty from the cold-as-ice Karim Benzema means Real will go back to the Bernabeu for next Wednesday's second leg trailing by just one goal and still very much in the hunt to reach the final where Liverpool or Villarreal await.
Silva told BT Sport: "The first 20 minutes we were so, so good - the way we controlled the game and created chances.
"Over 90 minutes it felt we could have won with a better score but unfortunately we were not able to take advantage of the two-goal difference we had.
"Against one of the best teams in the world, it's still a good score for us."
He added: "It's just 90 minutes (gone). We have another 90 minutes left to go. We could have scored a few more goals but that's football."
Fellow goalscorer Phil Foden said: "It was a great game, end to end at times.
"We could have killed them off - I had a chance and Riyad (Mahrez) had a chance. In these games, we have to take our chances more."
City boss Pep Guardiola refused to be downhearted at not having taken full control of the tie.
"It was a fantastic game for both sides," he said.
"We did many good things, unfortunately we conceded goals and could not score more.
"When you play against Real Madrid, you know they can punish you - but what we have done with and without the ball, creating chances and chances, I cannot ask anything else."
Kevin de Bruyne kicked off the scoring after just 95 seconds, heading home Mahrez's ball into the box.
Real were two down inside 11 minutes - the first time that had ever happened to them in a Champions League match - when De Bruyne's pass found Gabriel Jesus inside the box.
The Brazilian, fresh from scoring four against Watford at the weekend, spun away from the hapless David Alaba before slotting the ball beyond Thibaut Courtois.
Mahrez and Foden then missed their gilt-edged chances to extend the lead and, perhaps unsurprisingly, Real made them pay.
Benzema reduced the deficit on 33 minutes with a clinical volleyed finish to score his 13th goal in this season's tournament.
The open nature of the game continued after the break and City soon restored their two-goal advantage, Fernandinho floating in a cross from the right to set up Foden, who headed home.
However, Real responded immediately with this time Fernandinho left with egg on his face.
Vinicius Junior dummied the ball which also flew through the City substitute's legs and the Brazilian winger then had huge space to run into. He stormed all the way into the six-yard box before slotting home to make it 3-2.
Silva lashed home a left-footed screamer into the top corner in the 74th minute, Real seemingly expecting a free kick to be given but instead referee Istvan Kovacs played the advantage.
But here was to be one more twist - the ball struck Aymeric Laporte's outstretched arm with 10 minutes to go and Benzema lifted a his cheeky spot kick into the gaping goal.
The goal - Benzema's 41st of the season in all competitions - took the Frenchman clear of Robert Lewandowski at the top of the Champions League top scorers' list.