Real Madrid have defeated Juventus 3 and will now host Juventus in the Copa del Rey final.
The result means the Real Madrid faithful are celebrating in the Bernabeu after losing 4-1 at home to Villarreal on Saturday.
“It’s not a good day for us, a bad day for the club and a bad result for Juventus,” said coach Carlo Ancelotti after the game.
With Madrid having been hammered 4-0 in their previous home game, the home side are now the favourites for the trophy.
Juventus are still chasing a second Champions League spot, but the home team are now favourites for La Liga.
Real Madrid won the first leg 3-2, but their win at Villarreda was the last of their league campaign, and the result means Juve will be aiming to beat Real Madrid again at the Bernabéu on Sunday.
Villa were without midfielder Diego Costa, who has been out since August with a knee injury, but were the more clinical side in the second leg, as Sergio Ramos scored a brace to make it 3-3.
They have won five of their last six home games.
Gianluigi Buffon was also absent for Real Madrid, while Sergio Ramos was not fit to face the Bianconeri.
However, the Biancoli were not as lucky in the penalty shootout as Juventus, as they lost 1-0 to Espanyol.
In their other game, at Lazio, Juventus were punished for their late winner, when Gonzalo Higuain’s cross was cleared by Diego Lopez.
And in the third leg, Real Madrid took control in the build-up and Higuard struck a low strike into the bottom corner to give the hosts the lead.