Postpublished at 21:47 British Summer Time 5 April 2017
That is all from me. Still some live football to follow, though. Head here.
Kick-off: 19:45 BST
Tottenham score three late goals to win
Alli, Son and Eriksen with the Spurs goals
Routledge taps in the opener from close range
Phil Dawkes
That is all from me. Still some live football to follow, though. Head here.
All eyes on Stamford Bridge now to see if Spurs' win can gain them ground on Chelsea.
Hull's win over Middlesbrough means that the late goals here have sent Swansea into the bottom three.
Swansea 1-3 Tottenham
Huge win for Tottenham. They have come back from the dead to somehow win this and keep their title challenge alive.
Poor Swansea, though. Poor, poor Swansea. So organised, so determined, but ultimately so, so broken.
Swansea 1-3 Tottenham
And that is that!
Tottenham have pulled off a miracle/robbery in Wales, depending on your allegiance.
Swansea are stretched, desperately searching for a leveller and Dele Alli finds Christian Eriksen to side-foot home from inside the box.
Spurs are still in this title race, by the skin of their teeth.
Christian Eriksen
Son's last act is to get what must surely be the winner. Kieran Trippier is on in his place.
Swansea make a last throw of the dice by sending on Luciano Narsingh for Routledge.
Swansea 1-2 Tottenham
And there is the winner! Unbelievable scenes in front of the away fans as Christian Eriksen's flicked pass finds Son Heung-Min in the box and his low finish squirms under Fabianski and in.
The Spurs players go wild, Pochettino goes wild, the away fans go wild.
Swansea... devastated.
Son Heung-Min
Seven?! My word, we've got a big finish on our hands now. There will be seven minutes of injury time at the Liberty. Plenty of time for a winner.
Swansea 1-1 Tottenham
Spurs have a lifeline! There is nothing Fabianski can do about it as Christian Eriksen's cross is deflected to Dele Alli at the back post for a simple finish into the net.
To be honest a draw does Spurs no good. They need to try and go and win this now.
Dele Alli
Swansea 1-0 Tottenham
The referee goes for a chat with Paul Clement as the keeper stand-off continues. Clement clearly wanted to make the change but Fabianski's stubbornness seems to have won out. Nordfeldt sits back down.
Swansea 1-0 Tottenham
Injured? Really?! Fabianski pulls out a top notch save to dive to his left and palm Dele Alli's goalbound header.
The Swans reserve keeper Kristoffer Nordfeldt is stripped and ready to come on, but Fabianski is screaming to the bench to say he doesn't want to come off.
Swansea 1-0 Tottenham
Oh, great hit... but wide!
Toby Alderweireld catches his effort well from the edge of the box but watches in frustration as it flashes wide of the post.
Swansea 1-0 Tottenham
Hold on, the Swans keeper is back up and moving around. He waves the stretcher away and gets a standing ovation from the home fans. Trooper.
Swansea 1-0 Tottenham
Fabianski could be hurt here. He is down on his back receiving treatment following that collision with Janssen. The stretcher is coming out.
Swansea 1-0 Tottenham
Take a bow Fabianski. He shows real bravery to come out, put his body on the line and save right in front of Vincent Janssen, who was clear in the box. The keeper takes a clattering, but maintains his side's lead.
Swansea 1-0 Tottenham
Big ask for Georges-Kévin Nkoudou to come on now and save Spurs. That is the task presented to him, though. He replaces Ben Davies.
Swansea 1-0 Tottenham
Dafydd Pritchard
BBC Sport Wales at the Liberty Stadium
That display from Jordan Ayew was what football lexicographers would refer to as "a shift".
The Ghanaian's work-rate has been superb this evening, running after countless loose balls and pursuing Tottenham's defenders with bloody-minded determination.
Swansea 1-0 Tottenham
Eric Dier goes into the book for a trip on Ki Sung-yueng. The Spurs man didn't make much contact and makes that clear to the ref. That may well have been the reason for his booking.