Match ends, Stoke City 2, Aston Villa 1.
Marko Arnautovic's double gave Stoke a deserved victory as Aston Villa's slim hopes of avoiding relegation suffered another blow.
The Austrian opened the scoring with a penalty after Ashley Westwood brought down Phil Bardsley.
He set up his second with a looping header which he then chested in.
Leandro Bacuna's late goal gave Villa hope of an unlikely point but the Premier League's bottom club remain eight points from safety.
Stoke's second victory in succession moves them up two places to eighth.
Another grim MOTD for Villa fans and players
Villa midfielder Westwood said this week that it has been difficult to watch Match of the Day alongside his son this season because of his team's desperate form.
Sadly for Westwood, it will not be any easier this weekend as it was he who conceded the penalty that led to Stoke's first goal, clumsily stopping right-back Bardsley as he broke forward after 50 minutes.
When Villa fell 2-0 behind five minutes later there was still over half an hour to play but the visitors' heads dropped, with morale rock-bottom following a 6-0 loss to Liverpool in their previous game and only three league wins all season.
Before the match, Villa manager Remi Garde said he was not seeing enough commitment from all his players in training. While they did pull one goal back when Bacuna slotted in as Stoke appealed for handball against Rudy Gestede in the build-up, they never looked like taking anything from the game.
Apart from Bacuna's strike, the only occasions when a Villa player looked like putting the ball in the net was when defender Jores Okore twice nearly scored own goals, both times being spared by excellent saves from Mark Bunn.
It might be stating the obvious but relegation is surely a certainty.
Stoke stay on course for successive top-10 finishes
Mark Hughes' side went into this game on the same points total as this stage last season and the victory keeps them on target for another top-10 finish.
After three successive 3-0 losses in the league, Stoke have rebounded by beating Bournemouth and Aston Villa and look again like one of the Premier League's most stubborn opponents.
Arnautovic was their catalyst throughout, creating their best openings in a poor first half before netting both their goals as the Potters effectively won the game in the first 15 minutes of the second period.
While Stoke's set-pieces were often poor, they were always a threat from the flanks in open play. Arnautovic and Xherdan Shaqiri - who created the second goal - were frequent providers as the home team sent over 26 crosses.
Hosting Newcastle on Wednesday - another team in the bottom three - gives Stoke the chance to keep up the momentum.
Man of the match - Marko Arnautovic (Stoke)
Stoke boss Mark Hughes speaking to BBC Sport: "We needed to be a little more dynamic in the second half and we were.
"At 2-0 we were quite comfortable and cruising to a conclusion. The referee should have given a free-kick to ourselves [in the build-up to Aston Villa's goal] but at 2-1... that was a threat to us but all in all I felt we coped with it.
"Every time we have had a little blip we have bounced back very quickly and we have done that today."
Aston Villa boss Remi Garde, speaking to BBC Sport: "The players did what they can.
"The first 45 minutes we were OK and defended well. We tried to do our best but we started the second half too poorly and when you are 2-0 down it is over.
"When you are bottom of the table it is difficult to play with full confidence. The fans were behind the team. We don't have enough quality properly."
The stats you need to know
- Marko Arnautovic has scored six Premier League goals at the Britannia this season, twice as many as any other player.
- The Potters have now won five of their past six league games against Aston Villa, losing the other.
- Leandro Bacuna scored his first goal in 50 Premier League games, since netting against Cardiff in March 2014.
- Bacuna's goal was Villa's only shot on target of the game.
- Only Leicester (eight) have scored more Premier League penalties than Stoke this season (five).
- Villa did not win a single corner for the second successive game
Stoke host Newcastle on Wednesday, 2 March (19:45 GMT) before travelling to Chelsea next Saturday (15:00 GMT). Aston Villa are home to Everton on Tuesday, 1 March (19:45) and then way to Manchester City next Saturday (15:00 GMT).
- 14AfellaySubstituted forBojanat 71'minutes
- 10ArnautovicSubstituted forDioufat 89'minutes
- 19WaltersSubstituted forJoseluat 71'minutes
- 21HuttonBooked at 45mins
- 5OkoreBooked at 90mins
- 17VeretoutSubstituted forGestedeat 77'minutes
- 8GueyeBooked at 36mins
- 25GilSubstituted forSinclairat 58'minutes
- Kevin Friend
- Shots on Target
Second Half ends, Stoke City 2, Aston Villa 1.
Foul by Mame Biram Diouf (Stoke City).
Alan Hutton (Aston Villa) wins a free kick in the defensive half.
Jores Okore (Aston Villa) is shown the yellow card for a bad foul.
Giannelli Imbula (Stoke City) wins a free kick in the attacking half.
Foul by Jores Okore (Aston Villa).
Mame Biram Diouf (Stoke City) wins a free kick on the left wing.
Foul by Leandro Bacuna (Aston Villa).
Attempt missed. Rudy Gestede (Aston Villa) header from the centre of the box misses to the right. Assisted by Joleon Lescott with a cross.
Substitution, Stoke City. Mame Biram Diouf replaces Marko Arnautovic.
Foul by Phil Bardsley (Stoke City).
Gabriel Agbonlahor (Aston Villa) wins a free kick in the defensive half.
Corner, Stoke City. Conceded by Mark Bunn.
Corner, Stoke City. Conceded by Idrissa Gueye.
Philipp Wollscheid (Stoke City) wins a free kick in the defensive half.
Foul by Gabriel Agbonlahor (Aston Villa).
Glenn Whelan (Stoke City) wins a free kick in the defensive half.
Foul by Rudy Gestede (Aston Villa).
Goal! Stoke City 2, Aston Villa 1. Leandro Bacuna (Aston Villa) right footed shot from the right side of the box to the bottom left corner. Assisted by Rudy Gestede.