A review of Saturday's action in the Barclays Premier League, including Manchester United's 3-2 victory at Aston Villa.
Two-goal substitute Javier Hernandez inspired a dramatic Manchester United comeback as the Red Devils beat Aston Villa 3-2 to stretch their lead at the top of the Premier League to four points.
Villa stunned their opponents by taking a two-goal lead through Andreas Weimann in the space of five minutes either side of half-time.
But Hernandez turned the game on its head by scoring United's first goal, seeing his shot deflect off Villa skipper Ron Vlaar for the equaliser, and then heading a late winner.
It stretched United's advantage over nearest rivals Chelsea with another of their famous fightbacks in the face of adversity.
Arsenal squandered a 2-0 lead for the second time in five days and missed an injury-time penalty as Fulham claimed a 3-3 draw at the Emirates Stadium.
The Gunners, who were held by Schalke in Gelsenkirchen in the Champions League on Tuesday night after opening up a two-goal cushion, went ahead through Olivier Giroud's header from a Theo Walcott corner and doubled their advantage when Lukas Podolski swept home Mikel Arteta's centre.
But Fulham pulled one back after 29 minutes as an unmarked Dimitar Berbatov nodded in Bryan Ruiz's corner from inside the six-yard box and they equalised when Berbatov's cross from the right was headed in by substitute Alex Kacaniklic.
The Cottagers took the lead for the first time when Arteta dragged down Ruiz in the area and Berbatov stroked home a 67th-minute spot-kick.
But the visitors' joy was shortlived as Giroud, having placed his first effort against the post, reacted well to head in Walcott's subsequent cross.
Arsenal could have won it in the 94th-minute when referee Phil Dowd harshly adjudged Sascha Riether had handled Andrey Arshavin's cross but Mark Schwarzer superbly kept out Arteta's low spot-kick.
Everton stay in fourth spot after coming from behind to beat struggling Sunderland 2-1 at Goodison Park.
The visitors threatened early through Stephane Sessegnon and Steven Fletcher and finally made the breakthrough when summer signing Adam Johnson netted shortly before the break.
But, following plenty of Everton pressure, Marouane Fellaini drove past Simon Mignolet after 76 minutes and, two minutes later, the Belgian cleverly flicked on for Nikica Jelavic to fire home.
West Brom won 2-1 at Wigan thanks to a James Morrison header and a Gary Caldwell own goal.
Scotland midfielder Morrison has been an impressive performer in the Baggies' strong start and he was on hand to head home Chris Brunt's wicked left-footed cross after 31 minutes.
And when Caldwell put through his own goal it looked good for Steve Clarke's men.
Arouna Kone pulled one back on the stroke of half-time but Wigan could not find a leveller.
Another individual defensive mistake prevented Southampton from beating Swansea in a 1-1 draw.
The hosts went ahead through Morgan Schneiderlin's 64th-minute header but were pegged back nine minutes later as Maya Yoshida was dispossessed by Nathan Dyer and the winger ran through to score.
Stoke moved up to 12th after a hard-fought 1-0 win at home to winless QPR.
Charlie Adam got the only goal - his first for the club - at the start of the second half, firing in left-footed after the visitors had failed to clear Robert Huth's long free-kick into the box.
The defeat, their seventh of the season, means Mark Hughes' men stay bottom.
Reading, who have scored eight times in their last two home games without winning either, could not find a way past Norwich as their search for a first Barclays Premier League victory of the season goes on.