Wayne Rooney's late winner at Fulham helped Manchester United extend their Premier League lead to 10 points.
Rooney surged forward after 78 minutes to meet a Jonny Evans long ball and send a cool finish into the far corner for his 10th goal in as many games.
The striker had earlier hit the post in an open match in which both teams threatened, with Fulham's Bryan Ruiz also denied by the woodwork.
Ruiz also had a header cleared off the line before Rooney's goal.
Fulham 0-1 Manchester United: 'Determined' win pleases Sir Alex Ferguson
In a frantic finale, Fulham were denied an equaliser when United striker Robin van Persie cleared a Philippe Senderos header off the line.
And with the home side exposed as they pushed for a leveller, Javier Hernandez then broke clear and only some smart goalkeeping from Mark Schwarzer denied the United forward.
The visitors survived the remainder of stoppage time to secure a victory that puts extra pressure on second-placed Manchester City, who play Liverpool on Sunday.
A match interrupted by a floodlight failure just before half-time looked like being a frustrating one for United but, as so often this season, the quality of their forward line came to their rescue.
Fulham were beaten 5-0 in the corresponding fixture last season and 4-1 in the FA Cup by the Red Devils last week but they were a different proposition this time around.
The Cottagers created the first opening when Hugo Rodallega broke clear and pulled the ball back for Ashkan Dejagah, who mistimed his shot.
The chance sparked an open spell as both teams adopted the approach that attack was the best form of defence, the woodwork intervening on four occasions in the first half.
Wayne Rooney has scored five goals in his last five Premier League appearances against Fulham.
Rooney has scored 10 Premier League goals this season, meaning that he has hit double figures in nine successive top-flight seasons.
Fulham somehow survived a goalmouth scramble that began when Schwarzer pulled off a reaction save after Van Persie's corner came off defender Brede Hangeland. Patrice Evra latched on to the loose ball, only for his shot to hit the bar before Rooney's follow-up was cleared off the line by Sascha Riether.
If the visitors could not believe they were not in front, they were soon relieved not to be behind as Fulham twice went close in quick succession.
First, a long-range John Arne Riise strike was tipped over by United keeper David de Gea before a counter-attack from the home side culminated in a Ruiz shot from the edge of the area that came back off the post.
Hangeland, proving more of a hindrance than a help to the home side, then again went close to scoring an own goal when he inadvertently headed a corner against his own bar.
Just when it seemed the game might calm down, United midfielder Tom Cleverley laid the ball off for Rooney, whose shot came back off the post.
The players were forced off the field briefly when the floodlights failed before returning to play out the remainder of the first half in less frantic fashion than hitherto.
Hangeland, who had picked up a knock, was replaced by Aaron Hughes at the start of a second half that saw Van Persie tamely head into the arms of Schwarzer when well-placed.
As Fulham stood firm, United's frustration was reflected in the gestures from manager Sir Alex Ferguson in the visitors' dug-out. And the Scot's mood was not helped when centre-back Rio Ferdinand was caught in possession and Giorgos Karagounis dragged a 20-yard shot wide.
Fulham 0-1 Manchester United: Martin Jol unsatisfied with defeat
The sides traded chances as they chased a win. Nani had a shot deflected high for the visitors, while Ruiz failed to get enough power on an effort for the hosts after Riether's effort had been parried by De Gea.
With time running out, Rafael Da Silva cleared a Ruiz header off the United goal-line and it proved crucial as a clearance over the top from Evans released Rooney, who guided an expert strike around Hughes and past Schwarzer for the winner.
Fulham manager Martin Jol:
"We did well in midfield and at the back. It was one of our better performances this season.
"But they are capable of creating something out of nothing, as Rooney did. Now, I think they will win it [the Premier League title]."
He added: "We did well to get the lights on again. Normally it takes a long time. I feared when we came back our concentration was down and we would end up conceding a goal but it wasn't a problem."
Full Time The referee signals the end of the game.
Unfair challenge on Mladen Petric by Danny Welbeck results in a free kick. Shot comes in from Hugo Rodallega from the free kick.
David De Gea restarts play with the free kick.
90:00 +2:07 Booking
Booking Wayne Rooney shown a yellow card.
Patrice Evra fouled by Damien Duff, the ref awards a free kick.
Urby Emanuelson takes a shot. Rio Ferdinand gets a block in. John Arne Riise takes the outswinging corner, Philippe Senderos takes a shot. Robin van Persie makes a clearance.
Unfair challenge on Philippe Senderos by Javier Hernandez results in a free kick. Free kick taken by Mark Schwarzer.
Mladen Petric gives away a free kick for an unfair challenge on Michael Carrick. Direct free kick taken by David De Gea.
Bryan Ruiz takes a shot. Wayne Rooney gets a block in.
Urby Emanuelson challenges Javier Hernandez unfairly and gives away a free kick. Free kick crossed by Ryan Giggs, clearance by Sascha Riether.
Mark Schwarzer takes the indirect free kick.
Substitution Danny Welbeck is brought on as a substitute for Luis Nani.
The offside flag is raised against Robin van Persie.
Substitution Mladen Petric on for Ashkan Dejagah.
Outswinging corner taken left-footed by Damien Duff from the left by-line, Hugo Rodallega has a headed effort at goal from deep inside the area missing to the left of the target.
Assist on the goal came from Jonny Evans.
78:09 Goal scored
Goal! - Wayne Rooney - Fulham 0 - 1 Man Utd Wayne Rooney fires in a goal from the edge of the area to the bottom right corner of the goal. Fulham 0-1 Man Utd.
Free kick awarded for a foul by Jonny Evans on Bryan Ruiz. John Arne Riise restarts play with the free kick, Chris Baird produces a right-footed shot from outside the penalty box and misses right.
Outswinging corner taken left-footed by Damien Duff, Chris Baird takes a shot. Clearance by Rafael Da Silva.
Substitution Ryan Giggs is brought on as a substitute for Tom Cleverley.
Header by Ashkan Dejagah from deep inside the penalty area misses to the left of the target.
Sascha Riether takes a shot. Save by David De Gea.
Inswinging corner taken left-footed by Robin van Persie from the right by-line, clearance by Chris Baird.
Free kick crossed right-footed by Luis Nani from right channel, John Arne Riise makes a clearance.
Substitution Urby Emanuelson is brought on as a substitute for Giorgos Karagounis.
Free kick awarded for an unfair challenge on Robin van Persie by Chris Baird.
Shot comes in from Robin van Persie from the free kick, comfortable save by Mark Schwarzer.
Substitution Javier Hernandez comes on in place of Antonio Valencia.
Booking Booking for Chris Baird.
Chris Baird challenges Antonio Valencia unfairly and gives away a free kick.
Luis Nani takes a shot. Philippe Senderos gets a block in. Inswinging corner taken by Wayne Rooney from the left by-line, Bryan Ruiz manages to make a clearance.
The assistant referee flags for offside against Luis Nani. Indirect free kick taken by Mark Schwarzer.
Shot from 25 yards from Chris Baird. Save by David De Gea.
Rafael Da Silva concedes a free kick for a foul on Bryan Ruiz. Giorgos Karagounis takes the direct free kick.
Hugo Rodallega is ruled offside. Rio Ferdinand restarts play with the free kick.
Robin van Persie is ruled offside. Indirect free kick taken by Mark Schwarzer.
Effort on goal by Rafael Da Silva from just outside the penalty area goes harmlessly over the target.
Giorgos Karagounis produces a right-footed shot from just outside the box that goes wide left of the target.
Foul by Antonio Valencia on John Arne Riise, free kick awarded. Direct free kick taken by John Arne Riise.
The referee blows for offside against Antonio Valencia. Indirect free kick taken by Mark Schwarzer.
The referee penalises Ashkan Dejagah for handball. Wayne Rooney takes the direct free kick.
Rafael Da Silva gives away a free kick for an unfair challenge on John Arne Riise. Giorgos Karagounis takes the direct free kick.
Robin van Persie takes a shot. Mark Schwarzer makes a save.
Ashkan Dejagah is ruled offside. David De Gea takes the free kick.
Centre by Antonio Valencia.
Robin van Persie challenges Giorgos Karagounis unfairly and gives away a free kick. Chris Baird restarts play with the free kick.
The game restarts for the second half.
Substitution Aaron Hughes is brought on as a substitute for Brede Hangeland.
45:00 +11:23 Half time
Half Time The half-time whistle blows.
Robin van Persie takes a shot. Save by Mark Schwarzer.
The ball is delivered by Robin van Persie, John Arne Riise makes a clearance. Corner taken left-footed by Robin van Persie from the right by-line, clearance by Brede Hangeland.
Antonio Valencia crosses the ball.
Foul by Wayne Rooney on Ashkan Dejagah, free kick awarded. The free kick is swung in left-footed by Damien Duff, Jonny Evans manages to make a clearance.
Ashkan Dejagah fouled by Patrice Evra, the ref awards a free kick. Free kick crossed left-footed by Damien Duff from right channel, Jonny Evans makes a clearance.
Luis Nani produces a curled right-footed shot from 18 yards. Blocked by Philippe Senderos. Corner taken left-footed by Robin van Persie from the right by-line, clearance made by Brede Hangeland. Jonny Evans challenges Brede Hangeland unfairly and gives away a free kick. Free kick taken by Mark Schwarzer.
Wayne Rooney takes a shot.
Free kick awarded for an unfair challenge on Ashkan Dejagah by Luis Nani. Free kick taken by Mark Schwarzer.
Centre by Damien Duff, clearance by Rio Ferdinand.
Inswinging corner taken by Damien Duff from the right by-line, clearance by Robin van Persie.
Inswinging corner taken by Wayne Rooney from the left by-line, clearance by Brede Hangeland.
Unfair challenge on Bryan Ruiz by Robin van Persie results in a free kick. Free kick taken by Bryan Ruiz.
Damien Duff gives away a free kick for an unfair challenge on Tom Cleverley. Robin van Persie delivers the ball from the free kick left-footed from right channel, clearance by Bryan Ruiz.
Foul by Luis Nani on Giorgos Karagounis, free kick awarded. Direct free kick taken by Chris Baird.
Antonio Valencia crosses the ball, blocked by John Arne Riise.
Wayne Rooney produces a right-footed shot from the edge of the area and misses to the left of the target.
Brede Hangeland gives away a free kick for an unfair challenge on Luis Nani. Patrice Evra takes the free kick.
The assistant referee signals for offside against Robin van Persie. Mark Schwarzer takes the free kick.
Ashkan Dejagah produces a right-footed shot from the edge of the box and misses to the right of the target.
Bryan Ruiz fouled by Patrice Evra, the ref awards a free kick. The free kick is delivered left-footed by Bryan Ruiz from right wing, Rio Ferdinand makes a clearance.
Antonio Valencia produces a right-footed shot from deep inside the penalty box which goes wide of the right-hand upright.
Corner taken right-footed by Wayne Rooney from the left by-line, Brede Hangeland manages to make a clearance.
Bryan Ruiz takes a shot.
Centre by Luis Nani, clearance made by Philippe Senderos.
The assistant referee signals for offside against Antonio Valencia. Mark Schwarzer takes the indirect free kick.
John Arne Riise has a drilled shot. Save by David De Gea. Inswinging corner taken left-footed by Damien Duff, save by David De Gea.
Rafael Da Silva sends in a cross, blocked by Brede Hangeland.
Inswinging corner taken left-footed by Robin van Persie from the right by-line, Patrice Evra takes a shot. Patrice Evra takes a shot. Save by Mark Schwarzer.
The ball is sent over by Wayne Rooney.
Luis Nani takes a shot. Blocked by Sascha Riether. Inswinging corner taken by Wayne Rooney, Mark Schwarzer makes a save.
Bryan Ruiz concedes a free kick for a foul on Patrice Evra. David De Gea takes the free kick.
The ball is delivered by Rafael Da Silva, save by Mark Schwarzer.
Ashkan Dejagah takes a shot.
Free kick awarded for an unfair challenge on Giorgos Karagounis by Tom Cleverley. Philippe Senderos takes the free kick.
A cross is delivered by Luis Nani, Giorgos Karagounis gets a block in.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.