London - Manchester United striker Javier Hernandez sent his side four points clear at the top of the Premier League with two goals in a 3-2 comeback win at Aston Villa on Saturday.
Austria international Andreas Weimann scored either side of half-time to give Villa - who have not beaten United on home soil in the league for 17 years - a deserved two-goal lead.
But half-time substitute Hernandez inspired the United comeback as he scored twice and was only denied a hat-trick after the visitors' second goal went down as a Ron Vlaar own goal.
"It was an absolutely magnificent result for us," United coach Alex Ferguson told Sky Sports.
"It was a magnificent game. Aston Villa were fantastic today and you have to feel sorry for them, but we never gave in.
"(Hernandez) does his natural thing. He's fantastic in the box, with his movement, his quickness, his finding space, and that's got him the goals today."
Ferguson made six changes to the team that beat Braga 3-1 in the Champions League during the week, when United booked their place in the last 16.
Rio Ferdinand, Rafael Da Silva, Paul Scholes, Michael Carrick, Ashley Young and Robin van Persie all returned to the starting line-up, with the injured pair of Jonny Evans and Nani ruled out.
Villa coach Paul Lambert made one change to the side that won at Sunderland, as Enda Stevens came in at left-back for the injured Joe Bennett.
United started brightly and former Villa man Young went close when he cut in from the left flank in the fifth minute and curled a low shot around the post from distance.
Villa seemed content to soak up the pressure and hit on the counter-attack.
Ashley Westwood's lofted ball over the top found Christian Benteke in the 15th minute and his near-post effort was saved by United goalkeeper David de Gea.
Wayne Rooney had been shackled well by the Villa defence but he gave a reminder of his threat when he hit a shot from 30 yards that went straight at Villa keeper Brad Guzan.
However, it was Villa who took the lead on the stroke of half-time, when Belgium international Benteke showed great strength to shrug off United defender Chris Smalling on the hosts' left flank.
Benteke's low cross picked out the run of Weimann on the edge of the penalty area and the Villa forward smashed a superb shot past de Gea, who failed to react in time, and into the roof of the net.
Villa made a brilliant start to the second half and Weimann scored his second five minutes after the break when he finished off a sweeping move.
Midfielder Stephen Ireland spread the ball out to Gabriel Agbonlahor on the left wing and he delivered a pinpoint cross into the six-yard area for the unmarked Weimann to tap past de Gea.
United hit back moments later, though, when Paul Scholes lifted a ball over the top of the Villa defence for Hernandez, who had replaced Young at the interval.
The Mexico international broke clear of the Villa defence and kept his cool to strike a low shot past the dive of Guzan in the Villa goal.
United equalised in the 63rd minute when Rafael's cross found Hernandez at the back post and his volley from a tight angle struck the chest of Dutch centre-back Vlaar and deflected into the net.
Van Persie then rattled the crossbar twice in the space of a minute when he got his head on a Valencia corner and curled a shot goalwards from 25 yards out.
And the Netherlands international then had a hand in United's winner when his 87th-minute free-kick was met by the diving Hernandez, who headed past Guzan to seal a brilliant second-half comeback.