Riyad Mahrez broke the deadlock on 73 minutes at Santiago Bernabeu with a stunning left-footed strike to force the opener in a cagey contest in the Spanish capital.
There was to be late drama when Rodrygo made it 1-1 on the night and 5-4 on aggregate with a close-range finish.
The 21-year-old Brazilian then sent the tie into extra-time with a late and well-placed header.
In-form France striker Benzema made it 3-1 on the night - and put Real Madrid ahead on aggregate - when he converted a penalty he had won following a foul by Ruben Dias.
There was still time for Fernandinho to agonisingly send an effort wide at the back post.
Real Madrid had come from behind in the previous two rounds - against Paris Saint-German and Chelsea - and will now face quadruple-chasers Liverpool on May 28 in Paris hoping to win Europe's elite club competition for the 14th time.
Real Madrid coach Carlo Ancelotti told BT Sport: "I cannot say we are used to living this kind if life, but what happened tonight it happened against Chelsea and also against PSG. If you have to say why, it is the history of this club that helps us to keep going when it seems that we are gone.
"The game was close to finished and we managed to find the last energy we had. We played a good game against a strong rival. When we are able to equalise we had a psychological advantage in extra-time. I have no time to think about this [losing the game]. It was difficult as City had control of the game but the last opportunity we were able to go to extra-time.
"I am happy to be there in the final, in Paris against another great rival. We are used to it. It will be a fantastic game for football."
Ancelotti claimed a historic La Liga title last weekend to become the first coach to win Europe's top five leagues - and the experienced Italian is also on target to win an unprecedented fourth Champions League trophy, having already won the competition in his first spell in charge of Los Blancos as well as twice with AC Milan.
The defeat ended City's hopes of a Premier League and Champions League double and the chance to avenge for their 1-0 defeat to Chelsea in the final last season.
A disappointed Pep Guardiola told BT Sport: "We were close. We were close. But in the end we could not reach it."
He added: "We didn't play our best, but it is normal, a semi-final, the players feel the pressure and wanting to do it. Football is unpredictable, it is a game like this. We have to accept it.
"Now we need to process that and come back, with our people at home and the last four games we have."
Guardiola's men lead nearest-challengers Liverpool by one point and will be crowned Premier League champions for the fourth time in five seasons if they win their remaining four fixtures.