Philippe Coutinho gave Liverpool the lead after a quiet opening, driving low into the corner from 20 yards, before Mathieu Debuchy’s far-post header handed Arsenal an unlikely leveller just a minute later in first-half stoppage time.
Arsenal took the lead on 64 minutes, Olivier Giroud picking up the ball after a one-two with Santi Cazorla to sweep home from six yards.
Liverpool substitute Fabio Borini was sent off late on for picking up two bookings in the space of four minutes, before the 10 men earned a point with Skrtel’s late header from a corner.
Liverpool ended their weekend nine points off fourth, while Arsenal are sixth in the Premier League, four points off the Champions League places.
Liverpool dominated possession in the opening 45 minutes, but for all their endeavour only seriously tested Wojciech Szczesny once before going ahead.
Arsenal, who were 4-0 down in 20 minutes during February’s 5-1 defeat at Anfield, struggled to reach second gear, turning over possession in dangerous positions for both Adam Lallana and Coutinho to exploit.
Lazar Markovic had the game’s first chance, receiving a ball from Steven Gerrard on the corner of the area before shaking off Danny Welbeck and Debuchy only for Szczesny to thwart the Serb from six yards.
Markovic then lashed over from 20 yards after being put clear by Raheem Sterling, but the hosts were deservedly one up on 45 minutes.
Giroud tamely gave the ball away in the final third to Jordan Henderson, who offloaded to Coutinho in space, before the Brazilian finished clinically off the post from just outside the area past the outstretched hand of Szczesny.
But just a minute later Arsenal were level. Alexis Sanchez’s set-piece delivery was headed clear by former Gunners defender Kolo Toure, only for Mathieu Flamini to head back across the box to the lurking Debuchy, who got above Skrtel to head home.
Flamini arguably should have been off the pitch five minutes earlier after the Frenchman’s flailing arm caught Lallana in midfield, but referee Michael Oliver did not deem it a second bookable offence.
Gerrard’s low stooping header from Sterling’s cross went just over after the break, before the visitors took an unlikely lead.
After great play on the left from Kieran Gibbs, Giroud exchanged passes with Cazorla before slotting into the net through the legs of Brad Jones in the Liverpool net from close range.
Liverpool’s Lucas Leiva lashed over in a good position later on, before substitute Borini forced a good stop from Szczesny after finding space to head goalwards.
Borini was first booked for throwing the ball away in frustration at a decision by Oliver, and four minutes later the Italian scraped his boot across Cazorla’s chest for a second yellow.
Then, with 97 minutes on the clock after a six-minute stoppage for a head injury on Skrtel, the Slovakian defender himself popped up from Lallana’s corner to direct a powerful header past Szczesny.
Liverpool: Jones (6), Toure (6), Skrtel (7), Sakho (6), Lucas (6), Henderson (7), Markovic (7), Coutinho (7), Gerrard (6), Lallana (7), Sterling (7).
Subs: Lambert (6), Borini (5).
Arsenal: Szczesny (7), Debuchy (6), Mertesacker (6), Chambers (6), Gibbs (6), Flamini (4), Oxlade-Chamberlain (6), Cazorla (7), Alexis (5), Giroud (7), Welbeck (5).
Subs: Monreal (6), Coquelin (6), Campbell (6)
Man of the Match: Martin Skrtel