Premiership round-up: Arsenal moved within a point of Liverpool after seeing off Reading 2-1 with two second-half goals at the Emirates Stadium.
The Gunners made the breakthrough after 49 minutes when Gilberto struck from the penalty spot following a foul on Gael Clichy by Andre Bikey.
Julio Baptista added a second with a solo effort to settle the game on 62 minutes although Reading grabbed a consolation when Cesc Fabregas — who missed a sitter in the first half — put through his own net late on.
Troubled Charlton came from 2-0 down to snatch an unlikely but vital point against Watford at Vicarage Road.
Darren Ambrose headed the equaliser a minute from time after Luke Young had got his side back into the game with a tight finish on 67 minutes.
The Hornets had led since the 15th minute when Hameur Bouazza smashed home on the rebound after Scott Carson had saved a header from Damien Francis, who added a second six minutes later.
Another troubled side, Wigan, secured an important 1-0 win over Manchester City at the City of Manchester Stadium.
Caleb Folan, who scored against City for Chesterfield earlier this season, repeated the feat as he headed in the only goal from a Leighton Baines cross after 18 minutes.
City pressed heavily in the second half but Wigan's resolute defence held out for the win.
Aston Villa had to settle for a draw at Fulham after seeing their first-half lead quickly cancelled out.
Norwegian John Carew put the visitors into the lead after 21 minutes at Craven Cottage but the hosts responded immediately to level at 1-1.
Carlos Bocanegra headed in the equaliser after he was left unattended at a Franck Queudrue free-kick.
Mikel Arteta smashed in a penalty equaliser as Everton claimed a point against battling Sheffield United at Bramall Lane.
Rob Hulse had put the Blades on course for victory when he finished brilliantly with a shot across goal from a Colin Kazim-Richards cross on 52 minutes.
Everton got back into the game after goalkeeper Paddy Kenny dropped a high ball and brought down Andrew Johnson in the ensuing scramble. Arteta's goal was given after his penalty bounced down over the line off the bar.
The Tyne-Tees derby between Newcastle and Middlesbrough at St James' Park ended goalless.
In today's early kick-off, John O'Shea scored a dramatic late winner as Barclays Premiership leaders Manchester United snatched a crucial victory at Liverpool this afternoon.
United were outplayed for much of the match at Anfield but grabbed all three points when Ireland defender O'Shea turned in from close range after a Cristiano Ronaldo free-kick in injury time.
Third-placed Liverpool spurned a number of opportunities to take the game but United held firm, despite the sending off of Paul Scholes, to take another huge step towards the title.