The Guardian: LONDON, England, By David Hytner at the Emirates Stadium – It was ugly, extraordinarily tense, exponentially so. But it only made the release for Arsenal at the very end feel even more dramatic, the joy unconfined. After an excruciating wait – 14 years to be precise, taking in this tie that stretched like an epic – Arsenal can take their place in the Champions League quarter-finals.

They will surely have to play better than this if they are to extend the adventure. As in the first leg, they found Porto to be impossibly frustrating, so difficult to break down. Leandro Trossard scored the goal that cancelled out Galeno’s late cracker from the Dragão but it was a night when Arsenal laboured in creative terms.

Mikel Arteta

Nobody gave any thought to that in the moment when David Raya dived left to beat away Galeno’s kick to seal the penalty shootout victory. If there is no worse way to lose – Sérgio Conceição and his Porto players looked suitably broken after giving everything over both legs – then there is simply no better way to win.

Raya had gone the same way on Wendell’s kick in round two, seeing it hit the post, go into the back of his body and squirm away when it looked more likely to bounce in. Wendell had been brilliant against Bukayo Saka on Porto’s defensive left. It is often the way.

The goalkeeper could feel the pull of destiny. And with Arsenal nervelessly perfect on their penalties – Martin Ødegaard, Kai Havertz, Saka, Declan Rice; in that order – the scene was set for Raya’s finest moment at the club. It always seems to unfold in a blur and suddenly there were red and white shirts streaming towards him, Mikel Arteta similarly caught up in the madness of it all.

The manager had felt the weight of history, his own as the Arsenal manager in European competition and even going back to his playing days at the club. Not in five Europa League knockout ties as the manager at this stadium had he tasted victory – with a few sobering reverses thrown in, not least the penalty shootout loss to Sporting last season.

David Raya in action during the shootout, where he saved two of Porto’s four penalties
David Raya in action during the shootout, where he saved two of Porto’s four penalties. Photograph: Hannah McKay/Reuters

And as everybody can readily parrot, Arsenal had lost their previous seven Champions League last- 16 ties; Arteta was on the books as a midfielder for five of them. Their previous victory at this stage of the competition had been against Porto in 2010. On that occasion, they hammered them 5-0 here after a 2-1 first-leg defeat. They would suffer rather more in front of a crowd that stuck with them but went through the range of emotions.

We had to wait for the breakthrough, Arsenal creating nothing clearcut until Ødegaard cut away from Francisco Conceição in the 41st minute, then doing the same to Eduardo Pepê, having faked to shoot. As he did so, he could see Trossard make his move in behind the ball-watching João Mário. Ødegaard punched it into Trossard, whose first touch was true and the second was even better, a low insertion into the far corner.

It had stuck in the throat of Sérgio Conceição but the theme of the first leg from an Arsenal point of view had been Porto’s dark arts, how they sought to fracture the rhythm of the tie. The home crowd were certainly on to that here, howling as Otávio went down for a cheap free-kick, Diogo Costa took his time over a goal-kick and Galeno did likewise with two throw-ins. All of this inside the opening six minutes. It was fair to say that the theme was entrenched. Not without good reason had Arteta billed this as a test of his team’s emotional control and he probably could have extended that to the Arsenal support.

Leandro Trossard beats Porto goalkeeper Diogo Costa with his shot to give Arsenal a 1-0 lead on the night
Leandro Trossard fires a shot past the Porto goalkeeper Diogo Costa to give Arsenal a 1-0 lead on the night. Photograph: Hannah McKay/Reuters

Porto measured their progress in the winning of duels, in last-ditch defensive interventions, such as Pepe’s flicked header away from Havertz at the last. After which the veteran centre-half crumpled to the ground. Pepe was excellent throughout. Yet Porto had their flickers and Evanilson’s chance on 23 minutes was more than that, a full-blooded hit that Raya did superbly to save.

Arsenal ran into blue and white walls and, when they thought they had broken through on 67 minutes – with their first real thrust of the second half – they were denied by the referee, Clément Turpin. Correctly. He saw that Havertz had a handful of Pepe’s shirt as they chased a high punt back towards Costa. It did not matter when Ødegaard lobbed home the breaking ball.

Robert Lewandowski celebrates after scoring the third goal that set the seal on Barcelona’s 3-1 win over Napoli.

Arteta was booked for his furious reaction and Sérgio Conceição would suffer the same fate after overheating when Evanilson was denied a free-kick on the edge of the area.

There were chances in the final stages of regulation time. Francisco Conceição extended Raya while the Arsenal substitute, Gabriel Jesus, was denied at close quarters by Costa. Then, after the Porto goalkeeper had parried a Saka shot, Ødegaard might have done better with the rebound.

There was rage, too, Havertz shoving Sérgio Conceição in the technical area during extra time as they moved towards a dead ball. For a second, it looked as though the benches were ready to empty. They did not. We just waited for another eruption. Raya would spark it.

Match Stats

Possession

POR43ARS57%

Attempts

9

Off target

4

On target

7

3

Corners

9

1

Fouls

17

20

Lineups

Arsenal

  • 22David Raya
  • 4Ben White
  • 2William Saliba 
  • 6Magalhaes Gabriel
  • 15Jakub Kiwior
  • 8Martin Odegaard
  • 20Filho Jorge Jorginho
  • 41Declan Rice
  • 7Bukayo Saka
  • 29Kai Havertz 
  • 19Leandro Trossard

Substitutes

  • 1Aaron Ramsdale
  • 5Thomas Partey
  • 9Fernando Gabriel Jesus (s 83′)
  • 10Emile Smith Rowe
  • 14Eddie Nketiah (s 106′)
  • 17Soares Cedric
  • 18Takehiro Tomiyasu
  • 21Fabio Vieira
  • 24Reiss Nelson
  • 25Mohamed Elneny
  • 31Karl Hein
  • 35Oleksandr Zinchenko (s 106′)

Porto

  • 99Diogo Costa
  • 23Neto Joao Mario
  • 3Kleper Pepe 
  • 31da Silva Otavio
  • 18Borges Wendell
  • 22Alan Varela
  • 16Nico Gonzalez
  • 10Fernandes Francisco Conceicao
  • 11Eduardo Pepe
  • 13Wenderson Galeno
  • 30Francisco Evanilson

Substitutes

  • 2Santos Fabio Cardoso
  • 6Antunes Stephen Eustaquio (s 101′)
  • 8Marko Grujic (s 90′)
  • 9Mehdi Taremi (s 88′)
  • 14Pires Claudio Ramos
  • 15Jorge Sanchez (s 86′)
  • 17Ivan Jaime
  • 19Danny Loader
  • 28Romario Baro
  • 29Antonio Martinez
  • 70Goncalo Borges (s 101′)
  • 97Jose Ze Pedro