Arsenal booked their place in the Champions League semi-finals with a commanding aggregate win over Real Madrid, sealing a 2-1 victory on the night at the Santiago Bernabeu to progress 5-1 overall.
Bukayo Saka, who had earlier seen a penalty saved by Thibaut Courtois, gave the visitors the lead with a deft chip midway through the second half, before Vinicius Junior briefly reignited home hopes with a quick reply. But any talk of a remontada was swiftly silenced in stoppage time, as Gabriel Martinelli struck to end Real’s European campaign.
It was a night filled with drama, VAR controversy, and big calls. And in the end, it was Mikel Arteta’s side who held their nerve and showed their class.
Early chaos, missed chances
Carlo Ancelotti’s side knew they needed something special after a humbling 3-0 loss in London. The atmosphere crackled under Madrid’s famous lights, but it was Arsenal who struck first — almost.
Inside 10 minutes, referee François Letexier pointed to the spot after a VAR review judged Raul Asencio to have fouled Mikel Merino. Replays showed minimal contact, sparking protest from the Madrid bench, but Saka’s penalty was brilliantly pushed away by Courtois.
Madrid were soon calling for a penalty of their own as Kylian Mbappe went down under pressure from Declan Rice. Again VAR intervened, but this time overturned the decision and rescinded Rice’s yellow. The Bernabeu was boiling over.
Arsenal turn the screw
Despite dominating spells of possession, Madrid couldn’t find the breakthrough. Valverde and Tchouameni tried to dictate the tempo, and Vinicius threatened in flashes, but Arsenal’s defence — marshalled by Gabriel and Saliba — stood firm.
Then came the sucker punch. Saka, quiet in the first leg but lively throughout here, drifted into the box and lifted a composed finish over Courtois in the 65th minute to silence the home crowd.
Vinicius pulled one back almost instantly, capitalising on a rare Saliba mistake to make it 4-1 on aggregate, but it proved no more than a consolation.

Martinelli seals it
With Madrid pouring forward in desperation, Arsenal struck again in added time. Martinelli, off the bench, latched onto a through ball and slotted calmly past Courtois. That was that.
For Madrid, questions remain. Ancelotti’s tactical tweaks — including deploying Asencio at right-back — failed to pay off. The defence looked vulnerable, and Arsenal punished every lapse.
What next?
Madrid’s exit marks another chapter in a transitional season. Eyes will now turn to the summer, with speculation around Vinicius Jr continuing despite his public commitment to the club. The Brazilian was one of few to emerge with credit over both legs, and talks over a contract extension are reportedly ongoing.
Meanwhile, Arsenal march on. After knocking out the 14-time champions, Arteta’s side will face Paris Saint-Germain in the semi-finals. On this form, few would bet against them going all the way.
Champions League semi-finals:
- Arsenal vs Paris Saint-Germain
- Barcelona vs Inter Milan