Goals in either half saw managerless West Brom claim a 3-0 victory at The Hawthorns as the Swans were made to pay the price for missing a fourth penalty of the campaign.
Graham Potter's side, like they had at leaders Norwich a few days earlier, created the better chances and enjoyed more possession in this fixture.
But they failed to make the most of those advantages as the Baggies bagged themselves three points.
Connor Roberts had already struck the post before Chris Brunt opened the scoring in the 20th minute as his free-kick from the hosts' right flank bounced in a crowded box and into the far corner of the net.
The Swans then head a chance to level from the spot after Mike van der Hoorn was felled by Craig Dawson. Bersant Celina stepped up, but slipped at the crucial moment and the Baggies cleared the danger.
Mason Holgate doubled the home side's lead as he nodded home Brunt's corner in the 54th minute, while Jay Rodriguez rounded off victory for the Baggies with five minutes remaining.
Defeat left the Swans on 47 points after 36 games.
Wayne Routledge made his 250th Swans appearance as Graham Potter named an unchanged line-up.
The experienced winger, who joined the Swans in 2011, brought up the milestone as he and Nathan Dyer kept their places on the flanks following the positive performance at Norwich on Friday.
That display prompted manager Potter to keep faith with his team, meaning Kristoffer Nordfeldt started in goal behind a back four of Roberts, van der Hoorn, Cameron Carter-Vickers and Kyle Naughton.
Matt Grimes and George Byers once again linked up in midfield, the latter having overcome a groin issue to keep his place.
Celina played centrally with Routledge and Dyer either side of him, while Daniel James was again entrusted with leading the Swans attack in the absence of Oli McBurnie.
The Swans started brightly, with Dyer drilling a volley wide from James' cross in the early exchanges.
Then Potter's side went even closer as Routledge found Roberts near the edge of the area and the Wales full-back struck a left-footed effort which bounced off the post.
But the Baggies, who had seen a few half-chances fly off target, then took the lead.
Brunt's curling free-kick looked harmless enough as it bounced in the box, but it was enough to deceive the defence as it tucked inside the far post.
It was a suckerpunch, but the visitors failed to let that dampen their spirits.
Dyer saw his shot deflect to Routledge, but his first-time effort was palmed away by keeper Sam Johnstone.
They kept plugging away and a minute later Johnstone was again called into action, this time to deny James before Dyer fired the loose ball just wide.
The Baggies stopper again came to their rescue to deny Celina with a fine reflex save after the Kosovan struck Dyer's pass at the first attempt.
Then came a lifeline, with van der Hoorn hitting the deck under Dawson's challenge.
Celina took responsibility, but he lost his footing at the crucial moment and Brunt cleared the danger.
It means the Swans have failed in four of their seven penalties this season, and it proved costly.
After the break as Roberts saw his shot blocked in the box, while, at the other end van der Hoorn came to the rescue as he headed Dwight Gayle's volley off his line.
That was a warning, then came another big blow.
With 54 minutes on the clock, Brunt's corner met Holgate, who headed in from close range.
Still, the Swans kept creating chances with Roberts firing straight at Johnstone after former Swan Kyle Bartley half-cleared a cross before James blasted over after linking up with Celina.
Roberts was then denied by a superb one-handed save as the visitors did their best to get themselves back into this contest.
But it proved in vain as Nordfeldt, who had brilliantly prevented Gayle from making it 3-0, could do nothing as Rodriguez curled in the final goal of the match after Cameron Carter-Vickers failed to clear the danger inside the box.
West Brom: Sam Johnstone; Mason Holgate (Tyrone Mears, 80), Craig Dawson (Kyle Bartley, 60), Ahmed Hegazi, Conor Townsend; Jake Livermore, Chris Brunt (captain), Rekeem Harper; Dwight Gayle, Jay Rodriguez, Jacob Murphy (Hal Robson-Kanu, 69).
Subs: Jonathan Bond, Stefan Johansen, James Morrison, Jonathan Leko.
Swansea City: Kristoffer Nordfeldt; Connor Roberts, Mike van der Hoorn (captain), Cameron Carter-Vickers, Kyle Naughton (Barrie McKay, 69); George Byers, Matt Grimes; Nathan Dyer (Yan Dhanda, 80), Bersant Celina, Wayne Routledge (Courtney Baker-Richardson, 73); Daniel James.
Subs: Erwin Mulder, Cian Harries, Declan John, Jay Fulton.