Goals from Connor Wickham and Stephane Sessegnon saw Sunderland twice come from behind to draw with Aston Villa.
Stiliyan Petrov opened the scoring with a stunning shot from 20 yards before Wickham slid home from the edge of the box as Sunderland had the better of the first half.
Richard Dunne's header five minutes from time saw Villa retake the lead.
But with just a minute remaining, Sessegnon rose highest to head past Villa keeper Shay Given.
In the end, a point was fair on both sides, as in patches each had dominated proceedings.
Sunderland had the better of the first half but Villa responded well, led twice, and merited their point.
Villa boss Alex McLeish will have warned his players about the threat of Sebastian Larsson as the duo were together at Birmingham City.
But the Swede was causing the Villa defence all sorts of problems from dead balls, twice forcing Shay Given into saves in the opening six minutes.
Darren Bent, whose every touch was booed by the home support, got limited opportunities in attack but he did go close on 16 minutes.
Gabriel Agbonlahor played a good ball in from the left and Bent was waiting on the far post but Kieran Richardson did enough to put him off and the ball went behind.
After failing to convert their dominance into goals, however, the home side were made to pay when Petrov opened the scoring on 20 minutes, with a superb long-range effort.
- In the last 10 meetings between Sunderland and Aston Villa, they have only scored 18 goals between them
- At 18 years and 212 days old, Connor Wickham is the youngest player to score in the Premier League this season
Agbonlahor was given time and space on the left and he played a perfectly weighted pass for Alan Hutton, who controlled and laid it off for Petrov to hit a first-time shot into the top corner.
Wickham then went close to levelling things on 27 minutes when his header, from a corner by Larsson, was headed off the line by Stephen Warnock.
The former Ipswich striker did find the target on 38 minutes when he scored his first Premier League goal following his summer switch.
Sessegnon played a clever pass beyond the Villa defence and Wickham raced through and despite the efforts of three defenders he fired across Given into the bottom right-hand corner.
After John O'Shea limped off through injury in the first half, Sunderland manager Steve Bruce was forced to make a second change just seven minutes after the restart.
Goalkeeper Simon Mignolet was caught in the face by Emile Heskey in an aerial challenge and could not continue so Keiren Westwood, who joined the Black Cats from Coventry in June , came on to make his Premier League debut.
His first real action came on 73 minutes when he prevented Bent from scoring.
Agbonlahor was the provider again as he played a neat ball through for the striker but his first-time shot was saved by the keeper with his feet.
At this point the visitors looked the more likely to find a winner and went ahead with just five minutes to go when Dunne headed past Westwood, from Petrov's free-kick.
But Sunderland were back on level terms again with just two minutes to go when Sessegnon scored for the second match in succession.
The chance came from another Larsson free-kick and the midfielder headed past Given from six yards out.
Following the game, Black Cats boss Steve Bruce revealed that Mignolet has suffered a badly broken nose following the clash with Heskey and was taken to hospital to have CT scans on his jaw, cheekbone and teeth.
Aston Villa manager Alex McLeish:
"Darren Bent will be agonising over [his late miss] as all good players do. He will be wondering if he should have hit it harder or higher and he's the one who will decide.
"As all good players do, they look back on their good moments and the moments that didn't quite work out.
"There was disappointment at not scoring but there was great movement to get the chance."
Sunderland manager Steve Bruce:
"We fell behind to a wonder strike. I thought we were better in the first half but Villa were the better in the second half and we were always chasing the game.
"It was difficult but we showed a terrific spirit and to rescue a point with two minutes to go was good."
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The referee blows his whistle to end the game.88:21
Assist on the goal came from Sebastian Larsson.88:21 Goal scored
Goal! - Stephane Sessegnon - Sunderland 2 - 2 A Villa Stephane Sessegnon grabs a headed goal from inside the six-yard box. Sunderland 2-2 Aston Villa.87:55
Sebastian Larsson restarts play with the free kick,87:55 Booking
Booking Richard Dunne shown a yellow card.87:44
Richard Dunne gives away a free kick for an unfair challenge on Stephane Sessegnon.86:52 Substitution
Substitution Marc Albrighton is brought on as a substitute for Charles N'Zogbia.86:01
Sebastian Larsson crosses the ball in from the free kick, clearance by James Collins.86:01 Booking
Booking The referee cautions Stephen Warnock for unsporting behaviour.85:56
Stephen Warnock concedes a free kick for a foul on Sebastian Larsson.85:33
Charles N'Zogbia gives away a free kick for an unfair challenge on David Meyler. Kieran Richardson takes the direct free kick.84:12
Stiliyan Petrov provided the assist for the goal.84:12 Goal scored
Goal! - Richard Dunne - Sunderland 1 - 2 A Villa Richard Dunne finds the net with a headed goal from inside the penalty box. Sunderland 1-2 Aston Villa.83:20
Free kick awarded for an unfair challenge on Gabriel Agbonlahor by Sebastian Larsson. Stiliyan Petrov delivers the ball,81:00 Substitution
Substitution David Meyler replaces David Vaughan.80:00
Free kick awarded for an unfair challenge on Stiliyan Petrov by David Vaughan. Stiliyan Petrov takes the free kick.78:52
Corner taken by Stiliyan Petrov played to the near post, clearance made by Wes Brown.73:04
Free kick taken by Keiren Westwood.73:04 Booking
Booking Gabriel Agbonlahor goes into the book.72:29
Free kick awarded for a foul by Gabriel Agbonlahor on Stephane Sessegnon.
Darren Bent takes a shot. Save by Shay Given.69:48
Free kick awarded for an unfair challenge on Wes Brown by Darren Bent. Direct free kick taken by Keiren Westwood.68:02
Chris Herd concedes a free kick for a foul on Nicklas Bendtner. Strike on goal comes in from Sebastian Larsson from the free kick, Shay Given makes a save.67:16
Stiliyan Petrov takes a shot from a long way out clearing the crossbar.66:28
Stephen Warnock takes the free kick.66:28 Booking
Booking Phillip Bardsley receives a caution.66:22
Unfair challenge on Gabriel Agbonlahor by Phillip Bardsley results in a free kick.64:19
Charles N'Zogbia takes the chance to get an effort at goal. Blocked by Wes Brown.63:07
Nicklas Bendtner takes a shot. Blocked by James Collins.60:54
Sebastian Larsson sends in a cross, Close range headed effort by Nicklas Bendtner clears the crossbar.59:56
Corner taken by Sebastian Larsson, Chris Herd makes a clearance.58:53
Corner taken by Stiliyan Petrov from the left by-line to the near post, Michael Turner manages to make a clearance.57:15
Corner taken right-footed by Sebastian Larsson from the right by-line, Michael Turner produces a header from inside the area that goes over the crossbar.56:03
Unfair challenge on Sebastian Larsson by Charles N'Zogbia results in a free kick. Direct free kick taken by Keiren Westwood.51:38 Substitution
Substitution Simon Mignolet leaves the field to be replaced by Keiren Westwood.49:14
Stiliyan Petrov takes the inswinging corner, Simon Mignolet makes a clearance.48:52
Free kick awarded for an unfair challenge on Stiliyan Petrov by Connor Wickham. James Collins takes the free kick.46:15
Stiliyan Petrov takes a inswinging corner to the near post, Jack Colback makes a clearance.45:01
The referee gets the second half underway.45:00 +2:29 Half time
Half Time The match has reached half-time.45:00 +2:16
Header by Gabriel Agbonlahor from deep inside the penalty area misses to the left of the goal.44:37
Foul by Gabriel Agbonlahor on Sebastian Larsson, free kick awarded. Simon Mignolet takes the direct free kick.42:20
Corner from left by-line taken by Stiliyan Petrov.41:21
David Vaughan takes a shot from just outside the penalty area which clears the crossbar.40:42
Gabriel Agbonlahor challenges Phillip Bardsley unfairly and gives away a free kick. The free kick is swung in right-footed by Sebastian Larsson.38:59
Shot on goal by Charles N'Zogbia from just inside the area clears the crossbar.37:17
Assist on the goal came from Stephane Sessegnon.37:17 Goal scored
Goal! - Connor Wickham - Sunderland 1 - 1 A Villa Connor Wickham finds the back of the net with a goal from deep inside the penalty box to the bottom right corner of the goal. Sunderland 1-1 Aston Villa.34:36 Substitution
Substitution Phillip Bardsley joins the action as a substitute, replacing John O'Shea.33:08
Corner taken by Charles N'Zogbia from the right by-line played to the near post, Jack Colback manages to make a clearance.32:47
Charles N'Zogbia takes a shot. Michael Turner gets a block in.29:05
Shot from just outside the box by Emile Heskey goes over the bar.25:57
Corner taken right-footed by Sebastian Larsson, Connor Wickham takes a shot. Stephen Warnock manages to make a clearance.25:40
Jack Colback takes a shot. Blocked by Stiliyan Petrov.25:18
Stephane Sessegnon takes a shot. Blocked by Richard Dunne.23:13
Foul by Gabriel Agbonlahor on Connor Wickham, free kick awarded. Kieran Richardson takes the free kick.21:56
Michael Turner produces a header from inside the area that goes over the bar.21:05
Corner taken by Sebastian Larsson.19:45
Assist by Alan Hutton.19:45 Goal scored
Goal! - Stiliyan Petrov - Sunderland 0 - 1 A Villa Stiliyan Petrov fires in a goal from outside the penalty area to the top right corner of the goal. Sunderland 0-1 Aston Villa.18:39
Corner from right by-line taken by Sebastian Larsson.14:51
Shot from inside the six-yard box by Darren Bent goes wide right of the target.13:19
Unfair challenge on Alan Hutton by Stephane Sessegnon results in a free kick. James Collins restarts play with the free kick.12:46
Emile Heskey challenges David Vaughan unfairly and gives away a free kick. Direct free kick taken by Jack Colback.11:49
Connor Wickham produces a left-footed shot from the edge of the box and misses to the right of the target.10:14
Sebastian Larsson concedes a free kick for a foul on Emile Heskey. Direct free kick taken by Stiliyan Petrov.8:55
Richard Dunne concedes a free kick for a foul on Connor Wickham. Sebastian Larsson restarts play with the free kick.6:20
Wes Brown concedes a free kick for a foul on Gabriel Agbonlahor. Charles N'Zogbia takes the free kick.5:03
Centre by Nicklas Bendtner, comfortable save by Shay Given.2:52
Free kick awarded for an unfair challenge on Stephane Sessegnon by Stiliyan Petrov. Strike on goal comes in from Sebastian Larsson from the free kick, save made by Shay Given.0:00
The referee gets the game started.
Live data and text provided by our data suppliers