Arsenal’s Champions League dreams came to a dramatic end at the Parc des Princes as Paris Saint-Germain held firm to claim a 2-1 victory on the night and a 3-1 aggregate win.

Trailing 1-0 from the first leg, the Gunners were left frustrated once again by an inspired performance from PSG goalkeeper Gianluigi Donnarumma, who produced a string of superb saves to deny the visitors any early breakthrough.

The Italian shot-stopper, instrumental in PSG’s win at the Emirates, was at his brilliant best, keeping out Gabriel Martinelli and then tipping away a low drive from Martin Ødegaard as Mikel Arteta’s side pushed for an equaliser in the opening stages.

But it was PSG who struck first. In the 27th minute, Fabian Ruiz pounced on a poor headed clearance by Thomas Partey to drill a deflected shot past David Raya from 20 yards, giving the hosts breathing space.

The match continued at a blistering pace, with Donnarumma again denying Bukayo Saka in stunning fashion. At the other end, Raya kept Arsenal in it by saving Vitinha’s penalty after a handball by Myles Lewis-Skelly.

However, Partey’s night went from bad to worse when he lost possession in midfield, allowing Achraf Hakimi to turn and fire home PSG’s second in the 72nd minute.

Saka finally beat Donnarumma with a well-angled finish just four minutes later to give Arsenal a glimmer of hope, but he squandered a golden chance to level the tie, firing over with the goal gaping.

PSG held firm in the closing stages to secure their place in the final, where they will face Inter Milan in Munich.