Ruud van Nistelrooy struck twice as Manchester United recovered from conceding a goal inside 90 seconds to beat Fulham at Craven Cottage.
Collins John put Fulham ahead, but Van Nistelrooy equalised from the spot after Moritz Volz fouled Ji Sung Park.
Park then released Wayne Rooney to put United ahead after 18 minutes, only for Claus Jensen to level from a free-kick.
Van Nistelrooy completed the scoring in first-half injury time, sweeping home unmarked from another Park pass.
Sir Alex Ferguson recalled Rooney in attack, and dropped Paul Scholes and Cristiano Ronaldo down to the bench.
But United's problems started at the other end as they went a goal behind in 90 seconds, with poor defending from Rio Ferdinand playing a major role as Fulham took the lead.
Goalkeeper Mark Crossley's clearance was headed on by Brian McBride, and as Ferdinand twice attempted to clear, John stole in to fire past former Fulham keeper Edwin van der Sar.
United looked dangerous, however, and it was no surprise when they levelled after 16 minutes.
Park was bundled to the ground by Volz as he raced in on goal, and Van Nistelrooy steered his penalty past Crossley in expert fashion.
And they were ahead two minutes later, with Park instrumental again as he played Rooney in to score past Crossley as he raced out.
But for all United's menace going forward, there was a worrying vulnerability at the back that was exposed again as Fulham restored equality after 28 minutes.
Claus Jensen's speculative free-kick was allowed to drift into the danger area and past Van der Sar by United's static defenders, in much the same fashion as Morten Gamst Pedersen had scored for Blackburn at Old Trafford.
Ryan Giggs forced a brilliant clearance from Carlos Bocanegra before United were back in front in first-half stoppage time.
Rooney's precise pass released Park, and even though Van Nistelrooy appeared to have come from an offside position, the Dutchman was allowed to steer home unmarked with Crossley helpless.
And England youngster Rooney almost put the game beyond Fulham's reach seconds after the break, but he was off target when clean through.
United lost Kieran Richardson after 58 minutes when he went off injured, to be replaced by Phil Bardsley.
Fulham pressed, but failed to cause United any serious problems apart from a long-range effort from Papa Bouba Diop that flew wide and a header off target from substitute Heidar Helguson from Tomasz Radzinski's cross.
Fulham manager Chris Coleman:
"If we were producing bad performances I would criticise my players, but I thought we were excellent again today, as we were at Spurs on Monday,
"We were positive, always on the front foot and we are going for it. We are taking the initiative in games. I'm finding it difficult to know what to say to my players because they are doing really well and not getting points.
"We will keep doing what we believe in. There is a great belief among our players about what we are trying to do and I don't want to knock that out of them. I don't want to play defensive, negative football. I want us to be a positive, passing team."
Manchester United manager Sir Alex Ferguson:
"I thought it was going to end up about 20-all at half-time, but I must say some of our attacking football was scintillating.
"I thought Ji Sung Park was fantastic, involved in all three goals. The boy is coming on in terrific style. His movement off the ball and his awareness of space is exceptional for such a young man.
"I thought it was a really good game of football and Fulham played a great part in it."
Fulham: Crossley, Volz, Bocanegra, Goma, Niclas Jensen, Malbranque, Claus Jensen, Diop, Boa Morte, McBride (Helguson 72), John (Radzinski 77).
Subs Not Used: Elrich, Leacock, Warner.
Booked: Boa Morte, Diop.
Goals: John 2, Claus Jensen 28.
Man Utd: Van der Sar, O'Shea, Ferdinand, Silvestre, Richardson (Bardsley 57), Fletcher, Smith, Giggs (Ronaldo 77), Rooney, van Nistelrooy (Scholes 84), Park.
Subs Not Used: Howard, Pique.
Goals: Van Nistelrooy 17 pen, Rooney 18, van Nistelrooy 45.
Ref: H Webb (S Yorkshire).