Stoke struck twice in the final three minutes to snatch a dramatic 2-2 draw and put a dent into Aston Villa's Champions League hopes.
Stiliyan Petrov's first Barclays Premier League goal for 11 months and a spectacular effort from John Carew helped Villa take total command.
But Ryan Shawcross reduced the arrears in the 87th minute and substitute Glenn Whelan equalised in injury time for the visitors.
The home side made a positive start and Potters goalkeeper Thomas Sorensen saved bravely at the feet of Gabriel Agbonlahor before Danny Higginbotham cleared the loose ball which was heading for the empty net.
In the 45th minute Petrov finally broke the deadlock for Villa with his second goal of the campaign. James Milner was the creator with a pass into the path of the former Celtic midfielder who crashed a fierce drive across Sorensen into the corner of the net.
Villa were largely on top in the second hald but Luke Young needed to produce an excellent tackle to deny Ricardo Fuller at the expense of a corner after he had burst into the Villa box.
Martin O'Neill brought on Carew for Emile Heskey after 75 minutes - and within four minutes he looked to have wrapped up the points in spectacular fashion.
Petrov played the ball into the Norway international who volleyed past Steve Simonsen from 20 yards out.
Agbonlahor then miskicked with the goal at his mercy from a Carew centre while Whelan struck a post for Stoke.
It was a warning of what was to come for Villa as Shawcross pulled a goal back in the 87th minute with a header from a James Beattie centre. And then in the first minute of time added on, Whelan drilled a shot past the dive of Brad Friedel from the edge of the box.
Copyright (c) PA Sport 2009, All Rights Reserved.