Made a good save from Peter Odemwingie but that was after letting in three goals, about which he could do little.
Won some headers, as is often the case, but was let down by Leandro Bacuna and Nathan Baker.
His intelligent ball allowed Fabian Delph to set up the opener, but he was caught out on occasion, allowing players in behind on his side.
Was dominated in the air by Peter Crouch for Stoke's first, drifted away from Crouch for the second and then spectacularly failed to deal with a simple pass which lead to the third. Booked late to complete a poor afternoon.
Did not get close enough to Marko Arnautovic for the equalizer, failed to cut out a pass in the build up to the third and was waltzed past for the fourth. Played some poor passes which angered the home crowd. Booked.
K. El Ahmadi
Booked in the opening exchanges for a very robust tackle on Peter Crouch and went off injured during the first half.
Did well on the left to set up Christian Benteke for the first but his passing in the middle was mixed. Not as much energy or invention as against Chelsea last Saturday, which could be said about everybody but Delph in particular.
His set piece delivery was poor and he was jeered for taking his time on the ball, though that may say more about the home fans than his own urgency. Lucky to get away without a booking. Substituted.
Fired in a great strike to get his side started early but struggled to make much of a mark after that despite some neat footwork. Booked for dissent.
Slipped at the vital moment, which made Stoke's task easier when scoring its second. Went off shortly after with an injury.
Tried to link up with Benteke but the Stoke line kept the pair in check. Did not have the opportunity to use his pace, the key weapon in his arsenal.
Misjudged a couple of set pieces but got away with them. No chance with Christian Benteke's goal and had little else to do.
Like Ryan Shawcross, was assured in his defensive duties and grew more and more confident as Villa's threat waned as the game wore on.
Got forward well whenever possible and looked solid at the back without doing anything too impressive until he steered in his side's fourth at the death.
Looked assured in his defensive duties though went for long periods without any Villa pressure. Dominant in the air as the hosts turned to crosses late.
Got the better of Andreas Weimann to set up Peter Crouch for the Potters' second goal and always looked to support Marko Arnautovic going forward. Substituted late but played well.
Booked for a bad foul on Christian Benteke but looked good in possession and kept his position at the base of the midfield.
Used the ball very well, dropped into spaces, covered a lot of ground in the midfield and scored Stoke's third with a calm finish. A reference point in the middle for his side.
Part of a midfield which looked extremely capable in possession, knocking the ball around the Villa players at will.
Used his aerial ability perfectly to set up the equalizer and then finished smartly for the visitors' second. Did not get too many headers to win given his side's neat play in possession but more than held his own when called into action.
Set Erik Pieters free in the build-up to the visitors' second with a clever back heel. Looked confident and was inventive in possession. Set up Geoff Cameron late, too. Stoke's best performer on a fine afternoon all round.
Went close with a fine effort from outside the box early on and equalized with a clever finish shortly afterwards. Dropped back to help out on the right side of defense on occasion and provided a good outlet in attack.
Came on in the first half and quickly made a good tackle in the area but then lost possession easily, which summed up a mixed game.
Came on in the first half and did very little of use. Was booked for a foul on Wilson Palacios but could have easily gone in the book beforehand.
Came on, presumably for a late aerial assault, but was defended easily by the Stoke center backs. Did very little.