A last-minute goal from Zavon Hines helped a resurgent West Ham United to their first home win of the Barclays Premier League season.
Mark Noble gave the Hammers the lead from the penalty spot in first-half stoppage time - a kick won by the effervescent Hines - and when Robert Green kept out Ashley Young's 50th-minute spot-kick, the home side looked in good shape.
However, the winger got his own back two minutes later, though, as he beat his fellow England international with a stunning strike from 25 yards.
West Ham refused to be bowed by the equaliser, nor by first half injuries to Herita Ilunga and Carlton Cole, launching an assault on Brad Friedel's goal that ended with Hines' instinctive 94th-minute strike.
It was the England Under-21 man's first Barclays Premier League goal for the club he has been with since he was a boy.
West Ham United's starting XI showed three changes from the team that shared four goals with Sunderland on Sunday. Julien Faubert and Manuel Da Costa came into the defence, with Scott Parker replacing Radoslav Kovac. James Tomkins and Jonathan Spector dropped to the bench.
The hosts started brightly but were forced into an eighth-minute change when Ilunga left the field with what looked like a hamstring injury. Spector was his replacement.
The first half then became something of a battle between the two goalkeepers, with West Ham's No1 coming out on top. After Noble had forced Brad Freidel into diving save to beat away his effort, Green took centre stage.
His first was a truly world class stop as he showed astonishing reflexes to tip a deflected Stiliyan Petrov volley over the bar. A more routine save followed minutes later to thwart Gabriel Agbonlahor before John Carew's near-post effort was pushed to safety.
However, there was to be a second enforced change just after the half-hour mark as Cole, who had looked his usually boisterous self up front, hobbled off. Hines, who would make a dramatic late statement, came on to replace the England man.
Just as it appeared that the two goalkeepers would steal the first-half show, a West Ham United penalty altered the script.
Franco's clever pass put Hines in and, just as he was poised to shoot, Habib Beye appeared to bring him down. The Villa defender somehow escaped with just a caution when he could have easily seen red, but it was merely a stay of execution for the Senegal defender.
Noble stepped and confidently dispatched the kick high past Friedel. Just to compound the visitors' misery, Young and James Collins, on his return to the Boleyn Ground, were booked as they left the field for continuing to protest to referee Steve Bennett.
Martin O'Neill sought to get straight back into the game with a half-time change, taking off Emile Heskey for former Hammer Nigel Reo Coker. And they had a fantastic chance to do just that as Da Costa was harshly adjudged to have jumped on the back of Collins in the penalty area as he headed clear.
Young stepped up but, unlike Noble in the first half, he went low and Green was able to pull off an outstanding save low to his left.
Sadly, the delight for the majority of 30,024 inside the Boleyn Ground was to be short-lived as the winger was to make amends minutes later by beating Green with a brilliant curling effort from 25 yards after cutting in from the left touchline.
Cautions followed for Petrov and Parker as both midfields battled for superiority, but it was substitute Hines who was making the biggest inroads into the Villa back line. His constant willingness and speed was bothering Collins and his defensive partner Richard Dunne. The England U21 man had three shots in as many minutes as the game entered its latter stages - the last of which forced Friedel into a sprawling save.
Franco picked up a late caution for a lunge on Warnock before Beye was sent from the field for his second booking - the third time in 11 matches that West Ham's opponents were to finish a man short. O'Neill plugged the gap left at right-back by bringing on Luke Young for Carew.
Luis Jimenez was sent on with two minutes to go as the Hammers tried everything to make their extra man count. Noble came close when he stung the hands of Friedel with a drive from distance.
It was to be Green who had the final say in the battle of the 'keepers as he produced another brilliant save to keep out Ashley Young's low effort.
Hines then ensured that West Ham's persistence and willing was rewarded when he collected Parker's centre and flicked the ball past Friedel from just outside the six-yard box.
It was a dramatic finish and the impact of the result, which moves the Hammers out of the bottom three, was not lost on the home support, who celebrated wildly at the final whistle. They will be hoping to do the same when Everton visit the Boleyn Ground in four days' time.