Match ends, Aston Villa 2, Stoke City 2.
Aston Villa 2-2 Stoke City: Tammy Abraham and Jonathan Kodjia earn Villa draw
Aston Villa and Stoke City shared the spoils in a pulsating draw which saw the home side twice come from behind to seal a point.
After a goalless but entertaining first half, Stoke scored with the first meaningful action of the second, when Joe Allen burst into the box ahead of John McGinn to drill home.
Villa responded well and Jonathan Kodjia, who had only been on the pitch for a couple of minutes, was fouled in the area, giving Villa a penalty. Tammy Abraham stepped up to calmly slot in his 12th goal of the season.
But Villa were only on level terms for five minutes after James McClean was tripped in the box, giving Stoke a penalty of their own. Benik Afobe beat Orjan Nyland from 12 yards to put The Potters back in front.
Substitute Kodjia met a Yannick Bolasie cross to head home and make it 2-2 in the 84th minute, forcing both sides to settle for a point at a rain-drenched Villa Park.
Stoke had the better of the early chances with Villa goalkeeper Nyland twice called into action. In the sixth minute he denied Allen from Tom Ince's cutback and five minutes later, saved well from McClean's long-range effort.
But Villa then came back into the game with Butland tested when an inswinging corner looked to be dipping into the net. The England goalkeeper also saved smartly shortly afterwards when he tipped over a well-struck free kick from Conor Hourihane.
Both sides had spells of pressure as the half wore on with Allen having one of the better openings, but hitting his left-footed shot wide, meaning the teams went in all-square at the break.
After Allen's opener, Villa responded well to going behind with striker Abraham forcing Butland into a good save and in-form Anwar El-Ghazi close to connecting with an Alan Hutton cross.
Stoke almost doubled their lead on the hour mark with a similar move to their goal, but this time the influential Allen fired over.
Kodjia replaced El-Ghazi in the 66th minute and was quickly involved as he was fouled in the penalty area, with Abraham converting the spot-kick.
But they were unable to build on the goal as Stoke were awarded a penalty of their own just five minutes later, which Afobe tucked away.
With time running out, it was Kodjia who had the last word as he headed home Bolasie's cross to send the Villa fans into raptures.
The result leaves Villa three points off the promotion places in eighth and Stoke three places behind in 11th.
Aston Villa manager Dean Smith told BBC WM 95.6:
"I think it was a deserved point for both teams. I didn't think there was an awful lot in that game today and the conditions probably levelled out the home advantage.
"It made it a scrappy game and we were a little sloppy. We got into really good areas in the first half but our delivery wasn't quite there. We spoke about getting balls in behind their centre halves but we gave them heading practice really.
"Credit to the lads, Kodjia has come on and won the penalty and scored an equaliser at the end. I think it was a fair result.
"We know we've got goals in us but we weren't creating too many clear cut chances. People raise their game when they play us as that's as well as I've seen Stoke play."
Stoke City assistant boss Callum Davidson told BBC Radio Stoke:
"It's one of of those, we're leading and think we played well enough, we got in good areas to see the game off and disappointed with that. We're disappointed with the second goal.
"We've come to Villa who are tipped for promotion and we showed we are capable of going all the way.
"Draws keep momentum going, we need to start turning them into wins though, we're on a good run, but we need to be a bit more clinical and composed in the final third and then defensively see the game out."
- 27El Mohamady
- 6WhelanSubstituted forHoganat 85'minutes
- 22El GhaziSubstituted forKodjiaat 66'minutesBooked at 82mins
- 7McGinnBooked at 90mins
- 17ShawcrossBooked at 72mins
- 3PietersBooked at 72mins
- 7InceBooked at 31minsSubstituted forCrouchat 89'minutes
- 19BerahinoSubstituted forAfobeat 74'minutes
- 11McCleanBooked at 52mins
- 15Martins Indi
- Peter Bankes
- Shots on Target
Second Half ends, Aston Villa 2, Stoke City 2.
Alan Hutton (Aston Villa) wins a free kick in the defensive half.
Foul by Peter Crouch (Stoke City).
John McGinn (Aston Villa) is shown the yellow card.
Foul by John McGinn (Aston Villa).
Benik Afobe (Stoke City) wins a free kick in the attacking half.
Foul by Yannick Bolasie (Aston Villa).
Sam Clucas (Stoke City) wins a free kick in the defensive half.
Attempt saved. James McClean (Stoke City) left footed shot from outside the box is saved in the centre of the goal. Assisted by Cuco Martina.
Corner, Stoke City. Conceded by Jonathan Kodjia.
Substitution, Stoke City. Peter Crouch replaces Tom Ince.
Delay over. They are ready to continue.
Substitution, Aston Villa. Scott Hogan replaces Glenn Whelan.
Delay in match Erik Pieters (Stoke City) because of an injury.
Goal! Aston Villa 2, Stoke City 2. Jonathan Kodjia (Aston Villa) header from the centre of the box to the bottom left corner. Assisted by Yannick Bolasie with a cross.
Attempt missed. Joe Allen (Stoke City) right footed shot from outside the box is too high from a direct free kick.
Jonathan Kodjia (Aston Villa) is shown the yellow card for a bad foul.
Foul by Jonathan Kodjia (Aston Villa).
James McClean (Stoke City) wins a free kick in the attacking half.
Goal! Aston Villa 1, Stoke City 2. Benik Afobe (Stoke City) converts the penalty with a right footed shot to the bottom right corner.
Penalty conceded by Ahmed El Mohamady (Aston Villa) after a foul in the penalty area.
Penalty Stoke City. James McClean draws a foul in the penalty area.
Foul by Yannick Bolasie (Aston Villa).
Tom Ince (Stoke City) wins a free kick on the right wing.
John McGinn (Aston Villa) wins a free kick in the attacking half.
Foul by Sam Clucas (Stoke City).
Substitution, Stoke City. Benik Afobe replaces Saido Berahino.
Goal! Aston Villa 1, Stoke City 1. Tammy Abraham (Aston Villa) converts the penalty with a right footed shot to the bottom right corner.
Ryan Shawcross (Stoke City) is shown the yellow card.
Erik Pieters (Stoke City) is shown the yellow card for a bad foul.
Penalty Aston Villa. Jonathan Kodjia draws a foul in the penalty area.
Penalty conceded by Erik Pieters (Stoke City) after a foul in the penalty area.
Axel Tuanzebe (Aston Villa) wins a free kick in the defensive half.
Foul by Saido Berahino (Stoke City).
Substitution, Aston Villa. Jonathan Kodjia replaces Anwar El Ghazi.
Anwar El Ghazi (Aston Villa) wins a free kick in the defensive half.
Foul by Cuco Martina (Stoke City).
John McGinn (Aston Villa) wins a free kick in the defensive half.
Foul by Erik Pieters (Stoke City).