A penalty save from birthday boy Steven Benda and a late winner from substitute Michael Obafemi helped Swansea City make it three wins in four games as they took all three points against West Bromwich Albion in a breathless contest at The Hawthorns.
Russell Martin’s side had led early through Matty Sorinola’s first goal for the club, but second-half goals from Jake Livermore and Grady Diangana had given the Baggies the lead.
Olivier Ntcham then produced a moment of magic to bring the visitors level, only for the hosts to look set to claim the spoils when Armstrong Oko-Flex brought down Karlan Grant with nine minutes remaining.
But Benda, on his 24th birthday, denied the Albion striker with his feet and the visitors went on to snatch victory as Obafemi turned to find the net after excellent work from Ntcham and Matt Grimes and make it a perfect day trip for the 1,700-plus members of the Jack Army in the away end.
The Swans – with Luke Cundle making his first start as Joe Allen missed out - would have wanted to make a fast start given Albion’s difficult start to the season, and they delivered just that.
As early as the first minute Joel Piroe nearly got in behind the home defence and the Swans did not take their foot off the gas.
Sorinola saw an excellent volley tipped over by David Button the Albion goal, but he only had to wait a few seconds longer for his first Swansea goal.
The keeper got himself in a mess trying to come for a Ryan Manning corner, and the wing-back had the simple task of chesting the ball in from fewer than six yards.
Swansea kept coming, Cundle and Manning delivering threatening balls in, one of which was headed wide by Piroe – who had also strayed offside – after excellent build-up from the back.
Jay Fulton soon drove the visitors forward again in concert with Sorinola, whose near-post cross was just about cut out.
However, the hosts eventually began to settle and Steven Benda made his first save of the afternoon in the 26th minute as he pushed out a Diangana shot.
From there the Baggies began to threaten on a more regular basis. Benda again reacted sharply to keep out a Brandon Thomas-Asante header, while Diangana then nodded just wide and Jed Wallace dragged wastefully off target after a ball had fallen to him in acres of space at the far post.
Swansea responded, Cundle seeing his volley tipped over by Button before an increasingly fractious opening half drew to a close.
But Albion did not waste their next chance as they equalised seconds after the restart as skipper Livermore stabbed home a strike from close range.
But the setback sparked Swansea, and they got themselves back on the front foot again, with Manning, Cundle and Sorinola having particular joy finding pockets of space.
Albion keeper Button then away with a careless drop from a corner as no orange shirt was near enough to punish the error.
But when Swansea erred at the other end they were punished. The visitors put themselves needlessly under pressure after winning a free-kick at a defensive corner, and the passage of play ended with Kyle Naughton’s pass being picked off and Albion sweeping forward for Diangana to fire home.
Martin sent on Ntcham for Fulton immediately and just six minutes later the Cameroon international brought Swansea level with a moment of magic.
After his initial cross fell back to him, he shimmied and skipped away from the nearest defender and drove infield before sending a low left-foot shot into the net via a kiss off the inside of the post.
But there was still plenty of drama to come.
Oko-Flex, only on the field for a few minutes, clumsily challenged Grant and referee Graham Scott pointed to the spot.
But Benda's trailing legs kept out the Albion striker's effort as he fired the spot-kick down the middle.
And Swansea - so often the victims of late heartbreak in recent months - made full use of the German keeper's effort to snatch a late goal of their own.
Grimes and Ntcham worked the ball to find Obafemi, who spun his man to fire into the far corner and spark delirious and jubilant celebrations in the away end.
West Brom: David Button, Darnell Furlong, Conor Townsend, Dara O'Shea, Tom Rogic (Jayson Molumby 57), Jake Livermore (captain) (Okay Uokuslu 78), Grady Diangana, Erik Pieters, Jed Wallace (Matty Phillips 90), John Swift (Karlan Grant 78), Brandon Thomas-Asante.
Unused Substitutes: Alex Palmer, Martin Kelly, Adam Reach.
Swansea City: Steven Benda; Nathan Wood, Kyle Naughton, Ben Cabango; Matty Sorinola (Armstrong Oko-Flex 75), Jay Fulton (Olivier Ntcham 66), Matt Grimes (captain), Ryan Manning; Luke Cundle (Michael Obafemi 63), Ollie Cooper (Joel Latibeaudiere 74); Joel Piroe.
Unused Substitutes: Andy Fisher, Harry Darling, Fin Stevens.
Referee: Graham Scott