Ruud van Nistelrooy struck twice against Fulham at Craven Cottage as Manchester United recorded their first Barclays Premiership win since August.
United's indifferent league form look like continuing when Collins John fired past former team-mate Edwin van der Sar, only for Ji-Sung Park to lead the comeback.
The South Korea midfielder earned a penalty which Van Nistelrooy converted, then provided a deft pass for Wayne Rooney to finish past Mark Crossley.
Claus Jensen restored parity after his free-kick crept in at the far post when Rio Ferdinand had the chance to clear.
Van Nistelrooy, however, tapped in just before the break after Rooney had sent Park through on goal. It remained 3-2, with United ending a run of three league games without a win.
Tottenham came from two goals down to beat high-flying Charlton 3-2 in a thrilling clash at The Valley.
The Addicks looked on course to close the gap on leaders Chelsea after Darren Bent's double, two cool finishes either side of half-time.
Ledley King pulled one back with an instinctive prod from a Pedro Mendes free-kick, with Mido levelling after crashing past Stephan Andersen from a tight angle in the 64th minute.
Republic of Ireland striker Robbie Keane came off the bench to score the winner, sent through by Jermain Defoe with 10 minutes left and powerfully finishing past Stephan Andersen.
Newcastle were without injured striker Michael Owen against Portsmouth, and neither team mustered a goal at Fratton Park.
Pompey striker Dario Silva came closest in the first half when his shot was saved by Shay Given, but chances were difficult to come by.
Lee Bowyer upset the hosts with a heavy challenge on Gregory Vignal in the second half, but it remained goalless.
Shefki Kuqi scored twice late on for Blackburn to hand them a 2-0 win against West Brom at Ewood Park.
With Craig Bellamy limping off early in the match, defences were on top for much of the time.
Kuqi, however, struck in the 80th minute when he headed home Morten Gamst Pedersen's floated corner. The Finland striker latched onto a Curtis Davies mistake for his second.