Santiago Solari's men came into the encounter on the back of a 4-2 win in the first leg at the Santiago Bernabeu.
Real extended their advantage as soon as the 27th minute when Karim Benzema directed home a close-range strike for the opener.
The Frenchman was it again when was comfortably positioned to fire in a well-worked move for a two-goal cushion two minutes before the break.
That proved to be Benzema's final involvement in the game as the Frenchman made way for Marco Asensio just before the hour mark.
Nacho Fernandez followed the Spaniard to replace Sergio Ramos after 63 minutes, before Santiago Solari made his final change four minutes later, with Gareth Bale replacing Vinicius Junior.
Girona pulled a goal back in the tie in the 71st minute following a well-worked finish from inside the box by Pedro Piorro.
However, Marcos Llorente soon regained the visitors two-goal advantage on the night when his shot from outside the box sailed into the bottom corner.
Los Blancos now join FC Barcelona, Valencia and Real Betis in the last four of the competition after a comfortable tie over both legs and will look to end the campaign off with silverware.