Real Madrid managed to hold off the relentless advances of Osasuna to win their first Copa del Rey since 2014 on Saturday evening.
A brace from Rodrygo helped Los Blancos on their way to victory, but they were made to work for the silverware at La Cartuja in Seville.
Osasuna were denied their first ever major trophy but can return to Pamplona with their collective heads held high after an impressive display against the reigning European champions.
Real Madrid broke the deadlock with less than two minutes on the clock. Vinicius Junior danced his way inside on the left byline past Jon Moncayola and Ruben Pena, pulling the ball back for Rodrygo to fire home from around 10 yards.
Pena sought to make amends back down the other end, picking out striker Ante Budimir with a delicate cross soon after, but the Croatian’s header was easily held by Thibaut Courtois.
Los Blancos were happy to exploit the spaces behind the Osasuna defence on the counter, with Vinicius continually running at Moncayola, this time crossing for Rodrygo to tee up Karim Benzema, but the Frenchman’s shot was well saved by Sergio Herrera.
Osasuna were causing problems though and should have been level when Barcelona loanee Ez Abde robbed Eder Militao of the ball and raced through one-on-one with Courtois, managing to dink the imposing Belgian but only for Dani Carvajal to retreat and clear the ball off the line.
The chaos continued with David Alaba rattling the crossbar with a phenomenal 30-yard free-kick on the half-hour mark.
Vinicius was next to try his luck, cutting in from the left and curling a strike from 15 yards narrowly over the top.
Within 12 minutes of the restart, Osasuna found a leveller. Abde’s cross was deflected into the path of Lucas Torro, whose first-time strike from 20 yards flew through a body of players and ended up in the bottom corner of Courtois’ net.
Real Madrid blew a terrific chance to go back in front almost immediately from the resulting kick-off. Benzema’s cross managed to find Fede Valverde in acres of space, but he skied his volley.
And Los Blancos went back in front with 20 minutes left to play. Vinicius again was able to scamper to the touchline and Osasuna failed to deal with his ball across the face of goal, with Toni Kroos’ deflected shot falling kindly for Rodrygo to tap in his second of the evening.
Substitute Antonio Rudiger headed over from a Rodrygo cross while Vinicius’s selfless cutback was intercepted by Herrera in the final five minutes as Real Madrid looked for a clinching goal.
Osasuna had time to carve out one last chance when Chimy Avila found Kike Garcia with a superb low cross, but Carvajal again came to Real Madrid’s rescue with a trophy-winning last-ditch challenge.
Carlo Ancelotti’s men just about survived five excruciating minutes of stoppage time to clinch the trophy.
GK: Thibaut Courtois – 6/10 – Made a few decent saves when Real Madrid were under the cosh.
RB: Dani Carvajal – 7/10 – Utterly dreadful in midweek against Real Sociedad but one of Real Madrid’s star performers in the final, relishing his duels with the tricky Abde.
CB: Eder Militao – 4/10 – On the flip side, Militao was made to look a fool by Abde and co on many occasions.
CB: David Alaba – 6/10 – Often the man ensuring that Real Madrid weren’t carved open through the middle.
LB: Eduardo Camavinga – 5/10 – Came into midfield but this left space on the flank for Osasuna to run into, which was a problem considering Vinicius wasn’t crazy about tracking back.
Read the latest Real Madrid news here
DM: Aurelien Tchouameni – 5/10 – Failed to provide the control Real Madrid needed despite having a lot of the ball.
CM: Fede Valverde – 5/10 – Busier in his defensive duties than going forward.
CM: Toni Kroos – 5/10 – Pedestrian at times but at least wasn’t fazed by the occasion.
RW: Rodrygo – 9/10 – A brace in a cup final, the man for the big occasion once again.
CF: Karim Benzema – 6/10 – Rather subdued by his lofty standards.
LW: Vinicius Junior – 9/10 – What a pleasure it is to watch the young Brazilian strut his stuff. Played with bite and aggression to boot.
Antonio Rudiger (69′ for Tchouameni) – 6/10
Luka Modric (82′ for Kroos) – N/A
Marco Asensio (89′ for Rodrygo) – N/A
Carlo Ancelotti – 6/10 – Real Madrid were a little complacent but they got the job done.
GK: Sergio Herrera – 6/10 – Kept Osasuna in touching distance with some stops.
RB: Jon Moncayola – 2/10 – Deary me, what a torrid evening trying and failing to keep Vinicius quiet.
CB: Aridane Hernandez – 5/10 – Shuffled across to try and pin down Brazilian.
CB: David Garcia – 6/10 – Defended with assurance and confidence in one of the biggest games of his career.
LB: Juan Cruz – 5/10 – It’s not great when the man you’ve been tasked with marking scores a brace.
CM: Moi Gomez – 6/10 – Wasn’t afraid of the occasion, going toe-to-toe with Real Madrid’s midfielders.
CM: Lucas Torro – 8/10 – What a time to get your first goal of the season. Similarly up for the fight in the middle of the park.
RM: Ruben Pena – 4/10 – Was supposed to help provide support for Moncayola. That didn’t quite happen.
AM: Aimar Oroz – 5/10 – Dropped deep into midfield to get involved.
LM: Ez Abde – 7/10 – Missed a crucial chance in the first half but was Osasuna’s busiest attacker when on the pitch by some distance.
CF: Ante Budimir – 5/10 – Denied an early goal from a header but was scarcely involved after.
Chimy Avila (70′ for Budimir) – 5/10
Kike Barka (75′ for Abde) – 5/10
Ruben Garcia (75′ for Pena) – 5/10
Kike Garcia (86′ for Torro) – N/A
Pablo Ibanez (86′ for Gomez) – N/A
Jagoba Arrasate – 6/10 – The decision to start Moncayola at right-back killed Osasuna, who were otherwise wonderful.