Last updated on .From the section Championship

Daniel James has scored or assisted a goal in each of his past three league appearances

Daniel James produced another sparkling display as Swansea beat nine-man Stoke to keep alive their play-off hopes.

James's fabulous finish ended Stoke's long run without conceding before Mike van der Hoorn doubled the advantage.

James McClean pulled one back just before half-time but Graham Potter's side dominated throughout.

Stoke defenders Bruno Martins Indi and Tom Edwards both saw red for fouls on James before Oli McBurnie's goal sealed Stoke's first defeat in 10 games.

With Wales manager Ryan Giggs watching on, James starred in another classy performance from Potter's team, who are seven points off the top six after a fifth successive home win.

These two clubs' last Liberty Stadium encounter was on the final day of the 2017-18 Premier League season.

Having been relegated from the top flight together, they began this game a couple of places apart in the second tier.

Both have found some form of late, with Swansea's stylish football and Stoke's resilience offering hope for the future.

It has been a turbulent season for Swansea, who have been hit hard by the financial fallout of dropping back into the Championship.

But Potter's young team have looked increasingly impressive as the campaign has gone on and, even with key creator Bersant Celina absent through injury, they were too strong for Stoke.

Winger James had already sprinted down the left to lay on a good opportunity for Nathan Dyer - while McBurnie had drawn a fine save from Jack Butland - by the time the deadlock was broken.

James surged past Benik Afobe down the Stoke right before curling the ball beautifully beyond Butland and into the net via the far post.

Giggs applauded in the directors' box as Swansea fans rose all around him to acclaim the latest thrilling contribution from their dazzling young winger.

Stoke had not conceded in 591 minutes of football stretching back to a 1-1 draw with Aston Villa in February, but they are not the first team to have been undone by James in recent times.

Stoke right-back Edwards was booked for fouling him as he threatened to surge in behind, but greater punishment was to come.

The free-kick was worked short to James, whose cross was only cleared as far as Wayne Routledge, and his low drive was turned into the net by van der Hoorn.

Having gone almost 10 hours without conceding, Butland had been beaten for the second time in 17 minutes.

Stoke had been outplayed, yet they were back in the contest just before half-time when McClean's low long-ranger got the better of Kristoffer Nordfeldt.

The visitors' hopes of a comeback suffered a significant blow when Martins Indi saw red for upending James as he threatened to race clear.

Edwards followed the Dutchman down the tunnel when he picked up a second booking for another foul on James.

George Byers flashed a free-kick just wide and McBurnie volleyed over, while Dyer had a strong penalty appeal turned down.

Stoke battled on manfully, but any hope of a comeback was wiped out when McBurnie headed in his 19th goal of the season late on.

Swansea manager Graham Potter told BBC Sport Wales: "I am delighted - very proud. The players were incredible.

"I thought the first-half performance was our best of the season considering the opposition, the form they are in and the fact that this was our fourth game in 11 days.

"There's no denying we are in a good moment. The players want to get better - they have been a joy to work with.

"We have good momentum, good confidence and good belief and I was astonished by the energy levels we showed tonight."

Stoke manager Nathan Jones said: "It was a difficult night for us. Give Swansea credit - they were excellent in the first half and we struggled to contain them.

"But we got a lifeline just before half-time and we were in the game at 2-1.

"We came out in the second half and were a lot more positive but the sendings off killed us.

"The second one was a (second) yellow, but the first one is 100% not a red card. It has to be an obvious goal-scoring opportunity and it was far from it."