Champions Manchester United went back to the top of the Premier League on Saturday after they won 1-0 at Derby County and Arsenal were held to a 1-1 draw by Middlesbrough at the Emirates Stadium.
Arsenal looked set for a rare home defeat until Kolo Toure's header went in off defender Matthew Taylor and goalkeeper Mark Schwarzer four minutes from time.
Former Arsenal forward Jeremie Aliadiere marked his return from a four-match ban by scoring against his old club after 25 minutes with a volley into the roof of Manuel Almunia's net.
It was Arsenal's fourth successive draw in the league and allowed United to move above them on goal diference.
United have 67 points from 29 matches, Arsenal have 67 from 30 while Chelsea kept the pressure on the top two with a 1-0 win at Sunderland. They have 64 points from 29 matches and face Arsenal at Stamford Bridge next weekend.
Cristiano Ronaldo was United's hero at Pride Park, scoring with just 14 minutes to go as Derby, bottom of the table with only one league win all season and beaten 6-1 at Chelsea on Wednesday, offered far tougher resistance than United expected.
Ben Foster, making his debut in the United goal, had a busy afternoon and made a brilliant save from Kenny Miller to deny Derby the lead.
United finally broke through when Wayne Rooney passed for Ronaldo who sidefooted home past former United keeper Roy Carroll for his 31st goal of the season.
"That was one of our hardest games of the season," United manager Alex Ferguson told Sky Sports News.
"It became a real battle and all credit to them -- and their crowd was great, but we're delighted to have the three points. The title race is bubbling up nicely."
Chelsea maintained their title challenge with a narrow away victory of their own, winning at Sunderland with John Terry grabbing the only goal after 10 minutes, his first of the season. Chelsea stay third on 64 points.
Fourth-placed Liverpool came from behind to beat Reading 2-1 at Anfield with goals from Javier Mascherano, his first for the club, and Fernando Torres, his 20th in the league this season.
Marek Matejovsky had put Reading ahead after five minutes with a searing 20-metre volley, but a promising afternoon ended on a sour note for the visitors when striker Shane Long threw his shirt at manager Steve Coppell after being substituted.
It was Liverpool's fifth successive league win.
Portsmouth moved above Aston Villa into sixth place after beating them 2-0 at Fratton Park, while West Ham United came from behind to beat Blackburn Rovers 2-1 at Upton Park.
Jermaine Defoe and an own goal from Nigel Reo-Coker in the first half secured the points for Portsmouth, but both teams finished with 10 men after Pompey's Sulley Muntari and Villa's Olof Mellberg were sent off late in the game after picking up two yellow cards.
West Ham ended a run of three straight 4-0 defeats with their victory. Teenage substitute Freddie Sears headed the winner in the closing stages on his debut.