Riyad Mahrez struck twice as Man City produced a superb overall performance to reach their first Champions League final with a 2-0 win over Paris Saint-Germain at 10.
The Paris-born winger struck every half at the Etihad Stadium, adding to his effort in the first leg, as the Premier League leaders took a 4-1 aggregate victory.
PSG launched a lot of attack as they tried to chase the tie in unexpectedly icy conditions, but Mahrez’s second game just past the hour proved to be a fatal blow.
OPINION: If Kroenke really cared, he would sell Arsenal now …
As in the first leg, PSG lost their temper in the later stages and Angel Di Maria was sent off for an irritating stamp on Fernandinho after the ball ran out for a throw-in.
Man City were much more disciplined. Pep Guardiola’s men stubbornly defended themselves but showed a lot of offensive intent and took the main chances when they came.
They will now face the winners of the other semi-final between Chelsea and real Madrid in Istanbul later this month.
The shame for Man City was that there were no supporters in the stadium on such a historic night, but that didn’t stop many of them from braving torrential rain to welcome the team to the Stadium.
Hundreds of people lined the street as it approached the ground and blue flares were lit as coaches carrying the players made the short trip from the nearby training complex.
With a large police presence, there were no obvious signs of trouble, but little social distancing was evident.
The weather in Manchester also came as a surprise, as the downpour not only continued, but went from rain to hail. There was no danger of the game being called off, but the ground staff had to hastily clear the ice from the line marks.
The pitch was a wintry spectacle but City will have been warmed by the news that Kylian Mbappe was only deemed fit enough for a place on the PSG bench due to a calf injury.
This did not prevent PSG from making a positive start. Neymar and Di Maria both had early shots blocked before being wrongly awarded a handball penalty against Oleksandr Zinchenko. Referee Bjorn Kuipers overturned his decision after reruns showed the ball grazed the Ukrainian’s shoulder.
After surviving that fear, City took the tie firmly as they broke away to score after 11 minutes.
Ederson released Zinchenko with a superb ball and left-back spotted Kevin De Bruyne outside the box. The Belgian’s shot was blocked but Mahrez continued to catch up on the rebound.
PSG didn’t drop their heads and turned up the heat with Marquinhos heading against the bar. Di Maria then missed an open goal from 25 yards after Bernardo Silva was dispossessed as Ederson was out of his goal.
Both sides have continued to attack in what has become a delicate matter.
John Stones blocked a shot from Neymar while Mahrez was denied at close range by Keylor Navas.
Phil Foden forced Navas to save two more times early in the second half despite being flagged offside for one of them.
Neymar burst into the area but Zinchenko produced a nice sliding challenge to deny the Brazilian and Ruben Dias blocked a volley from Ander Herrera.
City snatched another vital goal as they caught PSG on the counterattack after 63 minutes. Foden traded passes with De Bruyne and sent a low ball into the zone for Mahrez to come in at the far post.
It was a hammer blow for PSG, who then lost their temper. Di Maria became the second of their players to be sent off after a clash with Fernandinho.
PSG got ugly, reckless in their challenges and couldn’t muster many more threats as Kuipers issued a flurry of yellow cards. It was City who had the best of the remaining chances as they finished the game for a famous victory.