Arsenal beat Chelsea 2-0 at the Emirates Stadium to close the gap to the top four to three points in the Premier League on Saturday.
Manchester United are also just three points adrift of the Blues after the resurgent Red Devils beat Brighton & Hove Albion 2-1 at Old Trafford. It was the seventh win in a row in all competitions under caretaker manager Ole Gunnar Solskjaer.
Liverpool are still top, but the leaders were made to work for their latest three points by Crystal Palace at Anfield. The Reds edged it 4-3 to put the pressure back on second-place Manchester City, who meet Huddersfield Town on Sunday, in the title race.
Wolverhampton Wanderers also won 4-3, starting the day with a dramatic, last-gasp win at home to Leicester City. Diogo Jota was the hat-trick hero for eighth-place Wolves.
Meanwhile, Newcastle United and Southampton eased relegation worries somewhat with home wins over Cardiff City and Everton, respectively.
Bournemouth had too much firepower for West Ham United in a mid-table clash, while the day's only goalless draw saw Watford and Burnley draw a blank at Vicarage Road.
- Wolverhampton Wanderers 4-3 Leicester City
- Bournemouth 2-0 West Ham United
- Liverpool 4-3 Crystal Palace
- Manchester United 2-1 Brighton & Hove Albion
- Newcastle United 3-0 Cardiff City
- Southampton 2-1 Everton
- Watford 0-0 Burnley
- Arsenal 2-0 Chelsea
Standings (Matches Played, Wins, Goal Difference and Points)
1. Liverpool: 23, 19, +41, 60
2. Manchester City: 22, 17, +42, 53
3. Tottenham Hotspur: 22, 16, +24, 48
4. Chelsea: 23, 14, +21, 47
5. Arsenal: 23, 13, +16, 44
6. Manchester United: 23, 13, +13, 44
7. Watford: 23, 9, 0, 33
8. Wolverhampton Wanderers: 23, 9, -4, 32
9. Leicester City: 23, 9, 0, 31
10. West Ham United: 23, 9, -4, 31
11. Everton: 23, 8, +1, 30
12. Bournemouth: 23, 9, -9, 30
13. Brighton & Hove Albion: 23, 7, -7, 26
14. Crystal Palace: 23, 6, -9, 22
15. Southampton: 23, 5, -15, 22
16. Burnley: 23, 6, -20, 22
17. Newcastle United: 23, 5, -12, 21
18. Cardiff City: 23, 5, -25, 19
19. Fulham: 22, 3, -29, 14
20. Huddersfield Town: 22, 2, -24, 11
Andros Townsend's 34th-minute goal shocked Liverpool, but the hosts needed just eight minutes of the second half to go in front. The goals came from familiar sources, Mohamed Salah and Roberto Firmino.
James Tomkins equalised before Salah scored again 15 minutes from time. The points looked safe until James Milner was sent off in the penultimate minute for a second bookable offence after bringing down Wilfried Zaha.
Liverpool's 10 men still scored again, with Sadio Mane netting on the break, but Max Meyer got one back for the resilient visitors in injury time.
Later, Arsenal were quick and intense from the off against a sluggish Chelsea side. The Gunners' fast start was rewarded when Alexandre Lacazette shot on the turn in the 14th minute.
Laurent Koscielny doubled the lead when he bundled in a cross six minutes before the break. Scoring crucial goals on home soil has become a happy habit for a player who continues to prove a bargain since his arrival from FC Lorient for around £10 million back in 2010.
Chelsea mustered nothing in response, with star man Eden Hazard continuing to be miscast in a role through the middle.
United had earlier increased the pressure on Arsenal to win after surviving a late rally from Brighton. Paul Pogba continued his awesome surge in form since Solskjaer replaced Jose Mourinho as manager in mid-December.
Pogba won and scored a penalty to put United in front in the 27th minute.
Marcus Rashford made it 2-0 before the break, but Brighton refused to lose without a fight. The Seagulls got back in it when Pascal Gross found the net with 18 minutes left.
United hung on, though, to increase their chances of a top-four finish.
Wolves and Leicester played out a cracker at Molineux, with goals from Jota and Ryan Bennett giving the hosts a two-goal lead. Leicester were overwhelmed early but still posed a significant threat going forward.
It was no surprise, then, when the Foxes were level six minutes after the restart. Demarai Gray finished well after being played in by Jamie Vardy before a Conor Coady own goal wiped out Wolves' lead.
Jota restored the advantage in the 64th minute, but Wes Morgan looked to have salvaged a point for Leicester when he scored three minutes from time.
However, there was still time for Jota to net the winner. His 93rd-minute goal capped a sweeping move. It also gave the versatile Portuguese forward a rare hat-trick.
Newcastle had two-goal defender Fabian Schar to thank for a much-needed win over Cardiff. The Swiss centre-back staked the Magpies into a two-goal lead before Ayoze Perez wrapped up the points in stoppage time.
While the win was welcome, Newcastle remain just one place off the bottom three after Burnley managed to frustrate Watford.
The Clarets are level on points with Southampton after the latter saw off Everton. James Ward-Prowse opened the scoring before Toffees left-back Lucas Digne turned the ball into his own net.
Everton's comeback bid didn't bear fruit until injury time, but Gylfi Sigurdsson's 91st-minute goal was as close as the visitors got to rescuing a point.
Callum Wilson's sensational effort sent Bournemouth en route to just a second win in eight league games. Joshua King added to Wilson's wonder strike in added time, as the Hammers had no answer for the home side's quality in attack.
Sadly for Bournemouth, there are more injury concerns about Wilson, who only returned from a hamstring problem to start. Manager Eddie Howe told Sky Sports the striker limped off with a problem in his knee.
Liverpool have put the onus back on City, who travel to the Terriers on Sunday, to keep the fight for the title interesting. Yet the race to finish fourth may prove more exciting thanks to United and Arsenal.