Manchester United came back from two goals down to deny Burnley victory at Old Trafford, while Harry Kane broke a Premier League scoring record.
Goals from Ashley Barnes and Steven Defour gave Burnley a 2-0 lead but Jesse Lingard's injury-time strike, his second of the game, means Manchester United are 12 points behind leaders Manchester City, who face Newcastle on Wednesday.
Tottenham won 5-2 at home to Southampton, with Kane's second hat-trick in four days making him the highest Premier League scorer in a calendar year with 39.
Kane will also finish 2017 as Europe's highest scorer across club and international games.
Chelsea moved to within a point of second-placed United, overcoming Brighton 2-0 with goals from Alvaro Morata and Marcos Alonso.
And Liverpool reclaimed fourth spot - which they had briefly lost to Spurs - with a 5-0 thrashing of Swansea, including two goals from Roberto Firmino.
- Match report: Tottenham 5-2 Southampton
- Match report: Man Utd 2-2 Burnley
- Match report: Chelsea 2-0 Brighton
- Match report: Liverpool 5-0 Swansea
- Harry Kane's goals in numbers - left foot? right foot? home? away?
- How did Lawro get on against Justin Hawkins from The Darkness?
- Who makes your 2017 Premier League XI?
- 'I painted Pietersen's house' - tales of England's travelling fans
- Why sport on Christmas Day is not all bad
Bournemouth scored a late, controversial equaliser in a see-saw 3-3 draw with West Ham, a result that leaves the Hammers one point above the Cherries, who are in the bottom three.
Watford also produced a comeback to overcome Leicester 2-1 and end a six-game winless run, courtesy of a 65th-minute own goal from Kasper Schmeichel.
Huddersfield and Stoke City drew 1-1, Tom Ince with the Terriers' opener before Ramadan Sobhi's leveller.
And it was goalless between West Brom and Everton at the Hawthorns, a result that leaves Albion three points adrift of safety.
Follow Match of the Day on Instagram for the best photos from the world of football.