It looked like Manchester City would take over after their lunchtime victory over Swansea as the Gunners toiled against Cardiff, who were being watched at the Emirates by prospective new manager Ole Gunnar Solskjaer.
But Nicklas Bendtner netted in the 88th minute and Theo Walcott made the points safe in injury time.
Manuel Pellegrini's City side have now won seven straight matches and the 3-2 victory at the Liberty Stadium left them a point behind Arsenal.
Wilfried Bony cancelled out Fernandinho's 14th-minute opener for City on the stroke of half-time but Yaya Toure put City back in front in the 58th minute.
Aleksandar Kolarov seemingly put the game beyond Swansea eight minutes later and Bony's injury-time second came too late to make a difference.
Two second-half substitutions proved key in Chelsea's 3-0 victory over Southampton.
Oscar was instrumental in the first two goals, with his cross being deflected against a post for Fernando Torres to score the opener on the hour mark before the Brazilian set up fellow substitute Willian in the 71st minute.
Oscar then found the net himself with eight minutes to go courtesy of a deflection.
Liverpool climbed back into fourth place with a 2-0 victory over Hull, the goals coming from Daniel Agger (36) and a stunning free-kick from Luis Suarez (50).
The Reds were also grateful to one of their own at the Britannia Stadium as on-loan winger Ossama Assaidi netted in Stoke's 1-1 draw with Everton.
It looked like Assaidi's 49th-minute goal would be the winner but in the 90th minute Jermaine Pennant fouled Leon Osman and Leighton Baines levelled from the penalty spot.
It was not enough to prevent Everton slipping behind Liverpool, though, the Reds now one point ahead of their city rivals.
Kevin Nolan's red card proved costly as West Ham slumped to a 2-1 defeat at fellow strugglers Fulham.
Nolan picked up his second red card in four games just before half-time for kicking out at Fernando Amorebieta.
Mohamed Diame put the Hammers ahead in the seventh minute but Steven Sidwell headed a 32nd-minute equaliser and Fulham's pressure eventually paid off with Dimitar Berbatov netting the winner (66).
West Brom caretaker boss Keith Downing had a happy ending to a difficult few days as Saido Berahino's 87th-minute penalty gave the Baggies a 1-0 victory over Newcastle.
It was Albion's first victory in 10 games, the last four of which have been under the control of Downing.
He selected Nicolas Anelka despite the furore over his goal celebration at West Ham on Saturday but it was Berahino who broke the deadlock after Matej Vydra was fouled by goalkeeper Tim Krul.
Newcastle had earlier been reduced to 10 men, Mathieu Debuchy seeing red for a two-footed tackle.
Neighbours Aston Villa also picked up a much-needed victory, 1-0 over Sunderland, with the goal coming in the 15th minute from Gabriel Agbonlahor.
It finished 1-1 at Selhurst Park where Jason Puncheon netted from the penalty spot in the 44th minute to draw Crystal Palace level against Norwich.
Bradley Johnson had scored for the visitors in the 39th minute but Mile Jedinak was pushed by Leroy Fer and Puncheon grabbed his first goal for Palace.
Fer's miserable day was complete when he was sent off for two bookable offences.
Tottenham moved above Manchester United into sixth place with a 2-1 victory at Old Trafford as Tim Sherwood's bright start to life as Spurs manager continued.
Emmanuel Adebayor scored his fourth goal in five games to put the visitors ahead in the 34th minute.
Christian Eriksen added a second in the 66th minute but Danny Welbeck pulled one back a minute later and Spurs had to withstand a barrage of pressure in the closing moments.