Manchester United came from behind three times to earn a vital 4-3 Premier League win against Newcastle in a Boxing Day cracker at Old Trafford.
James Perch gave the visitors a shock early lead but Sir Alex Ferguson's side were level against the run of play through Jonny Evans midway through the first half. Evans then put the ball in his own in net, in a goal surrounded by controversy, before Patrice Evra once more got United on level terms shortly after the break.
Papiss Cisse put the Magpies ahead for the third time in the second half, just moments before Robin van Persie found a third equaliser for the hosts. Finally, Chicharito, who had spurned a number of chances, dramatically gave United the lead right at the death.
Sir Alex made five changes to the side which drew at Swansea, with Wayne Rooney the most notable absentee. Chicharito, Phil Jones, Nemanja Vidic, Paul Scholes and Ryan Giggs all returned to the starting line-up.
Alan Pardew, meanwhile, replaced the suspended Cheikh Tiote with Gael Bigirimana, while Sylvain Marveaux came in for Jonas Gutierrez in the only other change.
The visitors looked up for it early on and found themselves ahead inside four minutes. Michael Carrick's miscontrol in midfield allowed Demba Ba to fire a speculative shot at David de Gea and the United shot-stopper could only push the striker's effort into the path of Perch, who tapped home his first ever Premier League goal.
Newcastle continued their bright start, with Cisse and Ba keeping the United's defence on their toes. Fabricio Coloccini nearly doubled their lead after 20 minutes when he nearly looped a header over De Gea, while the hosts failed to even register a meaningful effort on goal.
But the equaliser, against the run of play, eventually came five minutes later when Evans bundled the ball in from six yards after Tim Krul had originally done well to keep out Chicharito from close range.
United were only level for a matter of moments as the Magpies regained the lead four minutes later with a highly controversial goal. Danny Simpson had his shot deflected into his own net by Evans but it was disallowed for offside, with Cisse judged to have been in an active position. However, referee Mike Dean reversed the decision after consulting with his assistant.
It could have been even worse for United going in at half-time, Marveaux rattling the crossbar just before the break with a superbly struck left-footed free kick.
Newcastle were on top at the beginning of the second period, too, but were again pegged back in the 58th minute as Evra drove home United's first shot of the half. Krul could have done better as the defender's shot crept past him from the edge of the area.
The visitors again took the lead, though, this time via an emphatic finish from Cisse after fine work on the left flank from Gabriel Obertan. Amazingly, United were straight back in it two minutes later; Van Persie drawing a good save from Krul before turning in the ball in at the second time of asking.
It was all United for the last quarter of the game as they desperately piled forward in search of a winner. Van Persie and Chicharito spurned numerous chances, with the Mexican coming closest with a header of the post.
In a frantic final few minutes both sides could have snatched all three points. Sammy Ameobi did brilliantly after coming on to hold the ball up and beat De Gea with a controlled low effort, but saw his shot come back of the foot of the post. Chicharito, meanwhile, once again wasted a golden chance with a close range header hit directly at Krul.
But the Mexican was not to be denied for much longer, Carrick's excellently chipped ball finding Chicharito in the box and he slid home United's winner in injury time.