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.
“We needed to be patient against a very good Cardiff side,” said Arsenal manager Wenger.
“We know we have to play 10 home games and we want to make this place a fortress and take the points no matter what the others do. If we can manage to do that, we will be in a very strong position.”
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 top 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 with three minutes remaining.
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 header and after visiting captain Kevin Nolan was sent off for kicking out at Fernando Amorebieta, Dimitar Beratov 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.