Arsenal claimed their first league win at Anfield since 2012 thanks to Kai Havertz’s early strike and a determined rearguard action.
The Gunners deserved their 16th-minute lead but spent the rest of the half under siege as Liverpool poured forward, their wasteful finishing sparing David Raya. Mikel Arteta’s side regained some composure after the break and almost doubled their advantage when Alisson Becker brilliantly denied Christos Tzolis.
The hosts kept pushing for an equaliser, but Arsenal held firm to secure a long-overdue victory and move five points clear at the top of the table.
First Half
Arsenal are no strangers to the Anfield atmosphere and knew the value of quietening the home crowd. While the opening exchanges were scrappy, we had more of the ball and seemed happy to work at our own pace, mostly looking for openings through the returning Christos Tzolis on the left.
A wild effort from Declan Rice aside, neither side offered much going forward until the Gunners sprang into life on 16 minutes, punishing some lax play at the back.
Odegaard intercepted a loose pass from Alisson Becker, Bruno Guimaraes found Noni Madueke, and Rice surged past on the overlap. His low cross reached Kai Havertz at the back post for a simple finish. (GOAL 0-1)
Then everything unravelled.
Almost immediately from the restart, Ezri Konsa’s poor touch forced Rice to mop up behind him at the expense of a corner. It was the cue for a Liverpool onslaught that barely let up before half-time.
David Raya wasn’t being asked to make spectacular saves, but he had to stay sharp, punching clear and pouncing at Alexander Isak’s feet as the ball kept coming back.
There were fleeting chances to extend our lead. Guimaraes had an effort diverted away by Virgil van Dijk, while Jurrien Timber inadvertently blocked Madueke’s close-range attempt. Mostly, though, the traffic was heading in the wrong direction.
Corners followed corners, penalty appeals cranked up the noise, and Arsenal struggled to get out. We were surviving, helped considerably by the hosts’ wayward finishing.
Milos Kerkez and Alexis Mac Allister shot wide, Isak missed after another scramble, and Florian Wirtz hammered a free-kick against the bar following a highly questionable foul given against Timber.
Mac Allister then headed over from Kerkez’s cross when he should have scored. Rushed passes, heavy touches and a complete lack of composure kept inviting the next attack. After the goal, it was Brighton-level disarray.
Bradley Barcola’s late booking offered a brief interruption. The whistle brought considerably more relief. Somehow, Arsenal still led.
Ball territory heatmap, 1st half, Liverpool v Arsenal, Arsenal attacking left to right: own third 40%, middle 30%, final third 30%.
Ball territory heatmap, 1st half, Liverpool v Arsenal, Arsenal attacking left to right: own third 40%, middle 30%, final third 30%.
Second Half
Liverpool resumed at a lower tempo, although crosses from Ronald Araujo and Milos Kerkez kept Arsenal occupied on both flanks. We sat deep, relying heavily on David Raya’s long distribution to find Kai Havertz, Christos Tzolis or an advanced Jurrien Timber.
Noni Madueke was booked for a cheap foul on Bradley Barcola before Alexander Isak blazed into the Kop. Dominik Szoboszlai replaced Trey Nyoni, but the clean sheet survived the hour.
Arsenal tried to stretch the pitch, inviting the press with passes across the back. Given the intensity of the pursuit, every heavy touch felt potentially fatal. Mikel Arteta introduced Myles Lewis-Skelly for Bruno Guimaraes as the home crowd raised the volume.
Gradually, we found some breathing room. Havertz released Tzolis, whose cutback towards Martin Odegaard was cleared over. Riccardo Calafiori then darted behind the defence, only for Virgil van Dijk to intercept his cross before Havertz could connect.
Our best chance followed when Tzolis met Madueke’s cross with a first-time effort, forcing Alisson Becker into an excellent low save. So close to a second.
Timber and Ezri Konsa combined brilliantly to deny Araujo before tempers flared. Alexis Mac Allister fouled Odegaard, then slapped his head, prompting an angry response from Timber. Madueke needlessly joined in, surviving a VAR check after putting his head towards Mac Allister’s. Timber and Mac Allister were booked. Phew.
Both managers turned to their benches, with Piero Hincapie and Viktor Gyokeres introduced and Calafiori pushed forward to help contain Rio Ngumoha. Mikel Merino replaced Odegaard late on.
Daniel Munoz’s header was comfortably gathered before six added minutes began with Ngumoha’s deflected shot earning a corner.
Backs to the wall, then. Arsenal blocked, cleared and fought for everything. Raya collected a time-wasting booking, Liverpool grew increasingly frustrated, and the Gunners finally saw out their first league win here in 14 years.
Arsenal's line-up (4-2-3-1): David Raya, Jurriën Timber, Ezri Konsa, Gabriel, Riccardo Calafiori, Declan Rice, Bruno Guimarães (off 62'), Noni Madueke, Martin Ødegaard (off 88'), Christos Tzolis (off 84'), Kai Havertz (off 84'). Substitutes: Myles Lewis-Skelly (on 62' for Bruno Guimarães), Piero Hincapié (on 84' for Christos Tzolis), Viktor Gyökeres (on 84' for Kai Havertz), Mikel Merino (on 88' for Martin Ødegaard), Cristhian Mosquera, Ben White, Eberechi Eze, Kepa Arrizabalaga, Martín Zubimendi. Manager: Mikel Arteta.
Arsenal's line-up (4-2-3-1): David Raya, Jurriën Timber, Ezri Konsa, Gabriel, Riccardo Calafiori, Declan Rice, Bruno Guimarães (off 62'), Noni Madueke, Martin Ødegaard (off 88'), Christos Tzolis (off 84'), Kai Havertz (off 84'). Substitutes: Myles Lewis-Skelly (on 62' for Bruno Guimarães), Piero Hincapié (on 84' for Christos Tzolis), Viktor Gyökeres (on 84' for Kai Havertz), Mikel Merino (on 88' for Martin Ødegaard), Cristhian Mosquera, Ben White, Eberechi Eze, Kepa Arrizabalaga, Martín Zubimendi. Manager: Mikel Arteta.