Real Madrid produced one of the greatest comebacks in the Champions League history to beat Man City and reach the final of the European competition.
But Rodrygo struck twice after the 90-minute mark to send the game into extra time where a Benzema penalty sealed the 6-5 unlikely aggregate win for the hosts.
In sharp contrast to last week’s contest at home, City were largely happy to try to contain Madrid which gave the home side the confidence to start strongly.
Benzema, the competition’s top scorer this season, headed over from the center of the box just four minutes in before Vinicius Jr. missed his chance from six yards out after a free-kick routine to give hope to the home crowd.
Mahrez seemingly put the tie to rest when he fired an emphatic near-post finish past Thibaut Courtois following a flowing counter-attack.
City were inches from putting the result beyond doubt when Jack Grealish’s effort was cleared off the line by Ferland Mendy.
But Real, as so often have this season, found a way to get back into the game.
Rodrygo scored in the 90th minute with Real’s first effort on the goal.
Just a minute later the Brazilian added the second to tie the aggregate when he connected with a Carvajal cross.
It was the first time City had conceded two goals in consecutive minutes since Pep Guardiola took charge.
With the seismic momentum shift in the added time, Benzema was brought down by Ruben Dias and the Frenchman scored from the spot to send his team to Paris.
Real Madrid after beating the likes of Man City, Chelsea and PSG will be full of confidence ahead of their final against the high-flying juggernaut of Liverpool.