Former Swans striker Wilfried Bony scored his first goal for Stoke before Wayne Routledge headed the visitors level in a frenetic first half in which the hosts hit the post three times.
The volume of Stoke chances eventually told as visiting defender Alfie Mawson turned Ramadan Sobhi's shot into his own net, and Bony then nodded in a third after Joe Allen's shot was saved.
Mark Hughes' side are now 12th in the table while Swansea, despite some initial signs of improvement, remain second from bottom and five points from safety.
It was a galling evening for the visitors, who had the chance to re-sign midfielder Allen from Liverpool in the summer.
Instead it is with Stoke he is enjoying the most prolific season of his career, his two assists here adding to the four goals he had scored in his previous four appearances for the club.
A fifth match unbeaten represents an impressive transformation from Stoke, whose dismal start to the season had left them at the foot of the table after five games.
One thing missing from Stoke's revival had been a goal for Bony, so there was a sense of fate to the way the striker on loan from Manchester City put the Potters ahead against his former club.
Allen provided the assist with a half-volley from a half-cleared corner - an example of the visitors' ragged defending that was symptomatic of a frantic start to the game.
Bob Bradley's side were overrun by their dominant opponents, for whom Charlie Adam twice hit the post with shots from outside the penalty area.
Marko Arnautovic did the same after rounding Swansea goalkeeper Lukasz Fabianski, but the visitors' narrow escapes merely felt like delaying the inevitable.
Stoke's pressure was unrelenting and, after substitute Ramadan wriggled past Swansea's hesitant defenders and forced Mawson into an own goal, it was left to Bony to nod in from close range after more good work from Allen to seal victory and score against Swansea for a second successive season.
Allen's performance saw him provide two assists in a Premier League game for the first time, while Bony scored for the first time since Boxing Day, having gone 23 games for club and country without a goal.
Swansea's slump of nine matches without victory is their worst since their 2011 promotion to the Premier League.
There were hints of improvement in Bradley's first two games in charge, a 3-2 defeat at Arsenal and a goalless draw at home to Watford.
He will also have been encouraged by his team's initially spirited response to the relentless Stoke pressure - but Swansea's defects remain.
They were porous in defence and weak in midfield, where Ki Sung-yueng and Leroy Fer offered precious little resistance against their vibrant opponents.
Lone striker Fernando Llorente led the line willingly enough but he and substitute Borja Baston were starved of service - characteristically for a Swansea team with just nine goals from 10 Premier League games this season.
Stoke manager Mark Hughes: "I was frustrated at times because we had all manner of chances to put the game to bed.
"Wilfried Bony - it was always likely to happen. It was written in the stars and it happens so often. He and Joe Allen have been excellent since they came here.
"Joe Allen is an outstanding footballer. He has that knack of anticipating where the ball is going to land and that is why I have pushed him further forwards."
Media playback is not supported on this device
Swansea boss Bob Bradley: "We had some good stretches but, overall, we lack confidence and in key moments we were second best.
"There is no easy solution to getting confidence back. When you are going through a bad stretch you have to have belief. It was 1-1 at half-time but we didn't start the second half in a way that suggested we could win the game."
Media playback is not supported on this device
Stoke face a trip to West Ham for a 15:00 GMT kick-off on Saturday, 5 November, while Swansea are at home to Manchester United at 15:00 GMT a day later.
Match ends, Stoke City 3, Swansea City 1.
Second Half ends, Stoke City 3, Swansea City 1.
Attempt missed. Leroy Fer (Swansea City) header from the centre of the box misses to the left. Assisted by Gylfi Sigurdsson with a cross following a corner.
Corner,  Swansea City. Conceded by Ryan Shawcross.
Substitution, Stoke City. Peter Crouch replaces Marko Arnautovic.
Substitution, Swansea City. Jack Cork replaces Ki Sung-yueng.
Attempt saved. Borja Bastón (Swansea City) right footed shot from the left side of the box is saved in the centre of the goal. Assisted by Gylfi Sigurdsson.
Erik Pieters (Stoke City) is shown the yellow card for a bad foul.
Wayne Routledge (Swansea City) wins a free kick on the right wing.
Foul by Erik Pieters (Stoke City).
Attempt saved. Fernando Llorente (Swansea City) header from the centre of the box is saved in the centre of the goal. Assisted by Gylfi Sigurdsson with a cross.
Substitution, Stoke City. Jonathan Walters replaces Wilfried Bony.
Corner,  Swansea City. Conceded by Bruno Martins Indi.
Attempt blocked. Borja Bastón (Swansea City) left footed shot from the left side of the box is blocked. Assisted by Fernando Llorente.
Marko Arnautovic (Stoke City) is shown the yellow card for a bad foul.
Ki Sung-yueng (Swansea City) wins a free kick in the defensive half.
Foul by Marko Arnautovic (Stoke City).
Corner,  Stoke City. Conceded by Angel Rangel.
Attempt missed. Wilfried Bony (Stoke City) header from the centre of the box is close, but misses to the right. Assisted by Charlie Adam with a cross following a corner.
Corner,  Stoke City. Conceded by Angel Rangel.
Foul by Fernando Llorente (Swansea City).
Erik Pieters (Stoke City) wins a free kick in the defensive half.
Goal!  Stoke City 3, Swansea City 1. Wilfried Bony (Stoke City) header from the right side of the six yard box to the top left corner. Assisted by Joe Allen.
Attempt saved. Joe Allen (Stoke City) right footed shot from the right side of the box is saved in the top centre of the goal. Assisted by Marko Arnautovic.
Attempt missed. Charlie Adam (Stoke City) left footed shot from outside the box misses to the left. Assisted by Wilfried Bony.
Attempt missed. Neil Taylor (Swansea City) left footed shot from outside the box is high and wide to the right.
Offside, Stoke City. Erik Pieters tries a through ball, but Marko Arnautovic is caught offside.
Foul by Wayne Routledge (Swansea City).
Ramadan Sobhi (Stoke City) wins a free kick in the defensive half.
Offside, Stoke City. Lee Grant tries a through ball, but Marko Arnautovic is caught offside.
Borja Bastón (Swansea City) wins a free kick on the right wing.
Foul by Erik Pieters (Stoke City).
Substitution, Swansea City. Borja Bastón replaces Modou Barrow.
Foul by Modou Barrow (Swansea City).
Erik Pieters (Stoke City) wins a free kick in the defensive half.
Offside, Swansea City. Alfie Mawson tries a through ball, but Fernando Llorente is caught offside.
Leroy Fer (Swansea City) wins a free kick in the attacking half.
Foul by Ramadan Sobhi (Stoke City).
Own Goal by Alfie Mawson, Swansea City.  Stoke City 2, Swansea City 1.
Attempt missed. Ramadan Sobhi (Stoke City) left footed shot from the left side of the box misses to the right. Assisted by Glenn Whelan.
Stoke claimed a third successive Premier League victory as they overcame a Swansea side still without a win since the opening day of the season.