Arsenal close the gap on Manchester City for the title race while Liverpool missed out on victory
Chelsea have moved another step closer to a Premier League title triumph after a 2-1 home win over Manchester City.
Eden Hazard scored twice as Antonio Conte's side maintained their seven point gap at the top, having lost against Crystal Palace at the weekend.
Hazard opened the scoring after 10 minutes as his effort beat Willy Caballero, when the goalkeeper could have done better.
City would level through Sergio Aguero after a poor goal kick from Thibaut Courtois was won high up the field by the away side.
But Chelsea went in front again on 35 minutes when Hazard missed a penalty but converted the rebound.
Tottenham fought back at Swansea to keep stride seven points behind Chelsea in the table.
But for a long period, it wasn't looking for Spurs as Wayne Routledge's 11th minute opener left the Londoners trailing for the guts of 70 minutes.
But three goals in the space of eight minutes saw Tottenham turn the scores around quickly.
Dele Alli equalised on 88 minutes before stoppage time goals from Heung Min Son and Christian Eriksen made it 3-1 and secured a dramatic late victory for second placed Spurs.
Swansea have now dropped into the bottom three.
Arsenal have given themselves a chance of continuing their long run of Top Four finishes after a 3-0 win over an out of form West Ham.
Mesut Ozil netted from the edge of the box shortly before the hour mark to give Arsene Wenger's side the lead, before captain for the day Theo Walcott doubled that lead 10 minutes later.
And seven minutes from time, Olivier Giroud made it 3-0 to move Arsenal within four points of fourth placed Manchester City with a game in hand.
West Ham are now just five points above the relegation zone.
Liverpool fell foul of a late equaliser from Bournemouth as they settled for a 2-2 draw at Anfield.
Bournemouth lead early on Benik Afobe broke the deadlock.
But Liverpool turned the score on its head with goals from Philippe Coutinho and Divock Origi.
But Josh King levelled just before full time to earn a draw for the away side.
In the battle at the bottom, Crystal Palace were unable to pull away from the bottom three after a 3-1 loss at Southampton.
Christian Benteke gave Palace the lead but Nathan Redmond, Maya Yoshida and James Ward Prowse got the goals to turn things around for Southampton who are now ninth.
Middlesbrough's hopes of staying up suffered a blow as the second from bottom side fell to a 4-2 loss at Hull City who climb out of the relegation zone.
Lazar Markovic, Oumar Niasse, Abel Hernandez and Harry Maguire got the Hull goals while Alvaro Negredo and Marten de Roon struck for Boro.