James Milner gave Liverpool the lead on the hour-mark as the Reds appeared to secure a crucial stronghold against one of their title rivals in Unai Emery's side.
However, Alexandre Lacazette scored inside the last ten minutes to salvage a point for the home side at the Emirates.
Arsenal 1-1 Liverpool
‣ 0-1: James Milner - 61′
‣ 1-1: Alexandre Lacazette - 82′
Arsenal began the game on top but it was Liverpool that had the ball in the back of the net on 18 minutes.
Virgil van Dijk was unmarked in the box as he controlled the ball from Mohamed Salah‘s cross into the box. However, Arsenal goalkeeper Bernd Leno spread himself well to deny the Dutchman an unlikely goal.
Lacazette was proving to be troublesome for the Reds and he smashed a low shot just wide before beating Alisson from close range, only for Shkodran Mustafi to be given offside in the buildup.
Van Dijk then came close again for the Reds as he hit the post with a header from James Milner‘s delivery, however both teams went into the break level.
Klopp then changed his system at the interval, moving to a 4-2-3-1 formation with Milner moving to the right side and Firmino ahead of Salah.
Arsenal started the half the better side once again but it was Liverpool who broke the deadlock as Milner hit home with a low hard shot after the loose ball falling to him at the edge of the box.
Mane almost added a second after Firmino's brilliant pass released Salah, however the outstretched winger was unable to reach the ball in time. Moments later, Firmino headed wide from a corner.
Liverpool continued to create chances as van Dijk went close once again with a header - which was tipped over by Leno.
However it was Arsenal who grabbed the second goal of the game, with Lacazette curling a brilliant shot past Alisson after the Brazilian came off the line.
Liverpool: Alisson; Alexander-Arnold, Gomez, Van Dijk, Robertson; Fabinho, Wijnaldum, Milner; Salah (Matip 90+4′), Mane, Firmino (Shaqiri 80′).
This video is no longer available.