London - Nicklas Bendtner and Theo Walcott scored last-gasp goals as Arsenal edged Cardiff City 2-0 on New Year's Day to preserve their place at the Premier League summit.
With former Manchester United striker Ole Gunnar Solskjaer in attendance, amid reports he is due to succeed the sacked Malky Mackay as Cardiff manager, Arsenal dominated the game but looked destined to drop points until Bendtner's dramatic intervention.
Arsene Wenger's side did not manage to muster a single shot on target in the first half, although they were denied a penalty after Gary Medel appeared to trip Jack Wilshere inside the Cardiff area.
Wilshere struck the base of the post in the second half, before substitute Bendtner slammed home in the 88th minute after Cardiff goalkeeper David Marshall parried a header from Bacary Sagna.
Walcott added a second goal in injury time to rubber-stamp Arsenal's return to first place, after Manchester City had taken temporary possession of top spot by winning 3-2 at Swansea City.
City's Brazilian midfielder Fernandinho scored the first goal of the new year in the 14th minute at a rain-soaked Liberty Stadium, drilling home right-footed after Swansea partially cleared a Samir Nasri corner.
Ivorian striker Wilfried Bony equalised with a well-placed header in first-half stoppage time, but his international colleague Yaya Toure restored the visitors' lead with a deflected shot in the 58th minute.
City's Serbian left-back Aleksandar Kolarov added a third eight minutes later, lashing a powerful strike past Swansea goalkeeper Gerhard Tremmel, before Bony struck again in injury time with a vicious low shot.
"It was a very good result because Swansea are a strong team here at home and also away," City manager Manuel Pellegrini told Sky Sports. "I think the way we won today is very important for us."
City finished the day a point behind Arsenal in second place, with Chelsea a point further back in third after a 3-0 success at Southampton.
Fernando Torres gave Chelsea the lead on the hour with a close-range header after a deflected cross from Oscar came back off the post, with Willian making it 2-0 11 minutes later from Oscar's pass.
Oscar, a second-half substitute, crowned an impressive individual performance by adding a third goal eight minutes from time.
Liverpool responded to consecutive losses at the hands of City and Chelsea by winning 2-0 at home to Hull City, which took them back into the top four.
Daniel Agger broke the deadlock with a 36th-minute header, with Luis Suarez netting his 20th goal of the campaign with a fine free-kick early in the second half.
Sixth faces seventh in the day's late kick-off, with Manchester United welcoming Tottenham Hotspur to Old Trafford.
Everton slipped out of the bottom four despite Leighton Baines scoring an injury-time penalty to earn Roberto Martinez's side a 1-1 draw at Stoke City, who had taken a 49th-minute lead through Oussama Assaidi.
Nicolas Anelka started for West Bromwich Albion against Newcastle United, despite being under investigation by the Football Association over an allegedly anti-Semitic goal celebration.
The Frenchman played for 88 minutes in West Brom's 1-0 win, which saw Saido Berahino net the winning goal from the penalty spot in the 87th minute.
Newcastle defender Mathieu Debuchy had earlier been sent off for an ugly foul on Claudio Yacob.
Fulham escaped from the drop zone after coming from behind to win 2-1 at home to fellow relegation contenders West Ham United, who remain second from bottom.
Mohamed Diame gave West Ham a seventh-minute lead, but Steve Sidwell equalised with a 32nd-minute header and after visiting captain Kevin Nolan was sent off for kicking out at Fernando Amorebieta, Dimitar Berbatov tapped in a 66th-minute winner.
Sunderland remain bottom of the table after Gabriel Agbonlahor's 15th-minute goal earned Aston Villa a 1-0 win at the Stadium of Light, while third-bottom Crystal Palace were held to a 1-1 draw by Norwich City.
Results on Wednesday:
Swansea 2-3 Manchester City
Liverpool 2-0 Hull City
Stoke City 1-1 Everton
Fulham 2-1 West Ham United
Arsenal 2-0 Cardiff City
Crystal Palace 1-1 Norwich City
Southampton 0-3 Chelsea
Sunderland 0-1 Aston Villa
West Bromwich Albion 1-0 Newcastle United
Manchester United 1-2 Tottenham Hotspur