Shaun Maloney snatched three points for Aston Villa with an injury-time goal in a pulsating encounter with Fulham.
Wilfred Bouma is challenged by Simon Davies of Fulham
Clint Dempsey gave the visitors the lead on six minutes, the midfielder pouncing on Diomansy Kamara's deflected through-ball and rifling his shot home.
Villa equalised when an Ashley Young cross-shot was deflected past Kasey Keller by Zat Knight.
And substitute Maloney latched on to Young's pass to seal a deserved first win of the season for Villa.
It will come as a relief to manager Martin O'Neill, who was banished from the dug-out after an angry exchange with referee Steve Bennett at half-time.
Steven Davis had the first chance of the game when his shot was blocked after a sweet cross-field ball from Alexey Smertin and a cushioned pass from Simon Davies.
And Dempsey put Fulham ahead shortly after, slamming his shot past Scott Carson in the Villa goal.
The lively Young had Villa's first sight on goal, but the 22-year-old forward shot straight at Keller, on debut after signing on a free transfer from Borussia Moenchengladbach, with players awaiting a cut-back.
Young shot wide on 16 minutes after a mazy run before John Carew was dispossessed by Paul Konchesky when through on goal.
Fulham should have had a penalty shortly after when defender Craig Gardner blocked Kamara's left-footed shot with his arm.
But the hosts, looking for their first home win since February, took control as the first half progressed.
On 32 minutes, Carew should have done better with only the keeper to beat, the Norwegian striker shooting tamely at Keller.
And three minutes later Young teed up Gabriel Agbonlahor with a slide-rule pass but the England U-21 forward dragged his right-footed shot wide.
Carew, afforded acres of space by the Fulham defenders, hit the bar with a bullet header in first-half injury time and the whistle was followed by boos from the Villa faithful.
Immediately after the restart, Villa substitute Luke Moore sent a rasping shot just wide after a clever turn before Kamara struck the base of Carson's post at the other end.
But O'Neill's half-time team talk did pay dividends when Young, who gave Fulham's defenders a torrid time all afternoon, levelled after another teasing run.
Moore forced Keller into a fine sprawling save on 59 minutes before Carew, once again rising above the Fulham markers, sent a header wide.
Carew, who could have scored four or five, ballooned another free header over the bar before Villa thought they had snatched a winner on 70 minutes.
The teasing Young was checked by Chris Baird on the edge of the area and Bennett had blown his whistle before Moore could slot the ball home.
Baird was dismissed for a second bookable offence but Young bent the resulting free-kick inches over the bar.
Gareth Barry slotted home with two minutes remaining but was ruled off-side, but Maloney made Villa's dominance tell after a magnificent through-ball from Young.
Aston Villa manager Martin O'Neill:
"Ashley was sensational. When he's in that type of form we always look capable of scoring.
"It was a great ball from Ashley [for Shaun Maloney's late winner] and, knowing Shaun from his Celtic days, I was confident he would finish.
"It would have been an injustice if we hadn't won. We were exhilarating going forward and the crowd stayed with us."
Fulham manager Lawrie Sanchez:
"It was another major error. Yet again we have been on the receiving end of such a decision.
"If we'd been given a penalty, there might have been a different outcome. Craig Gardner handled only three yards out and we could have held a 2-0 lead.
"We had no luck at the other end but it was poor defending for the winner in."
Aston Villa: Carson, Gardner, Mellberg, Laursen, Bouma (Maloney 83), Petrov (Moore 45), Reo-Coker, Barry, Young, Carew (Harewood 77), Agbonlahor. Subs Not Used: Taylor, Cahill.
Goals: Knight 51 og, Maloney 90.
Fulham: Keller, Baird, Knight (Pearce 56), Bocanegra, Konchesky, Davies, Davis, Smertin, Dempsey, Kamara (Volz 69), Healy (John 65). Subs Not Used: Warner, Diop.
Sent Off: Baird (68).
Booked: Baird, Kamara.
Goals: Dempsey 6.
Ref: Steve Bennett (Kent).