Jimmy Bullard's late 25-yard free-kick earned Roy Hodgson his first victory as Fulham manager against high-flying Aston Villa at Craven Cottage.
Bullard's winner gave Fulham only their third win of the season
Villa had taken the lead on 68 minutes when Aaron Hughes turned the ball into his own net after Olof Mellberg flicked on Shaun Maloney's outswinging corner.
But Fulham hit back five minutes later when Simon Davies finished off a fine sweeping move involving Bullard.
And Bullard ensured the three points with a brilliant strike on 85 minutes.
There was further bad news for Villa manager Martin O'Neill when England call-up Gabriel Agbonlahor was forced to limp off at half-time with a hamstring injury.
The striker is a major doubt for England's forthcoming friendly against Switzerland at Wembley on Wednesday.
The much-needed victory is only Fulham's third all season, consigning Villa to their first defeat in nine games.
The game ended in complete contrast to how it began - the first half was almost bereft of any goalscoring chances.
Fulham manager Roy Hodgson gave new signing Erik Nevland his debut, playing the Norwegian as a lone striker in front of a five-man midfield.
The visitors were without the pace and penetration of new Ashley Young, who missed the match because of a one-game suspension.
His replacement, Shaun Maloney, fashioned the best chance of the half for Villa on 39 minutes.
The Scot capitalised on a defensive mistake from Danny Murphy, sending a dangerous ball across the face of Antti Niemi's goal, but Agbonlahor failed to make contact as the ball flew across the box to safety.
Agbonlahor could miss England's friendly against Switzerland
Agbonlahor was forced to sit out the second half after he was crudely brought down in full flow by Davies on the stroke of half-time.
The visitors had the better of the opening exchanges in the second half, with Marlon Harewood, on for Agbonlahor, looking threatening up front.
And once again Villa took the lead through a set piece, albeit with help from the hapless Hughes.
Maloney's corner was flicked on by Mellberg at the near post, but rather than finding a team-mate in claret and blue, the Swede found Hughes's left boot and the defender looped the ball into his own net.
Martin Laursen spurned a glorious opportunity to double Villa's lead a minute later when he blasted over from another corner from six yards out.
The miss proved costly as the home side hit back on 73 minutes with a well-crafted equaliser involving Bullard and Davies and the latter neatly finished on the half volley from 12 yards out.
And Bullard sealed the vital three points with a superb free-kick after Curtis Davies had brought down Diomansy Kamara 25 yards out from goal.
The former Wigan midfielder curled his strike beyond the sprawling Scott Carson, prompting scenes of crazy celebrations.
Fulham manager Roy Hodgson on Jimmy Bullard:
"He has done extremely well to comeback and give that kind of performance he has surprised us all.
"If he keeps that level of play up then he will be like an extra player signed in the transfer window.
"We have been trying to get one foot on the first rung of the ladder, now we have to start climbing it."
Aston Villa manager Martin O'Neill:
"When we got ourselves in front we didn't defend well enough for their equalising goal.
"I wanted us to play with drive and ambition, but we didn't have the momentum. We were not good enough."
Fulham: Niemi, Baird, Hughes, Andreasen, Hangeland, Konchesky, Bullard, Davies, Murphy, Dempsey (Kamara 79), Nevland (McBride 70).
Subs Not Used: Keller, Volz, Bocanegra.
Aston Villa: Carson, Mellberg, Laursen, Davies (Osbourne 90), Bouma (Gardner 87), Petrov, Barry, Reo-Coker, Maloney, Agbonlahor (Harewood 46), Carew.
Subs Not Used: Taylor, Knight.
Booked: Bouma, Davies.
Ref: Chris Foy (Merseyside).
BBC Sport Player Rater man of the match: Fulham's Jimmy Bullard 7.32 (on 90 minutes). Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.