Forward Alvaro Morata, a former Real academy player, put Atletico ahead with a close-range strike in the 19th minute and Real substitute Rodrygo equalised in the 79th with a delightful goal, dribbling past three defenders before finishing well.
Atletico played most of extra time with 10 men after defender Stefan Savic was shown his second yellow card for chopping down Eduardo Camavinga in the 99th minute.
Five minutes later, Real substitute Marco Asensio sent a low cross into the box and Vinicius's deflected shot reached Benzema who unleashed an unstoppable strike into the net.
Vinicius secured Real's win in the dying seconds with a brilliant individual goal, running half the length of the pitch before scoring with a low shot.
Real Madrid joined Barcelona, Osasuna and Athletic Bilbao in the semi-finals.