Manchester City fought back from 2-0 down to draw 2-2 with West Ham United on Sunday and stay in charge of its thrilling Premier League title battle with Liverpool.
West Ham's Jarrod Bowen struck twice in the first half but Jack Grealish pulled one back for City early in the second before Vladimir Coufal scored an own goal. Riyad Mahrez missed a golden chance to seal a City win after he missed a late penalty.
Liverpool play at Southampton on Tuesday and City had the chance to open a six-point lead at the top but the draw at the London Stadium left them four points above Jurgen Klopp's side with one game left.
Victory on the final day at home to Aston Villa would guarantee City its fourth league title in five seasons, regardless of Liverpool's results against Southampton and Wolverhampton Wanderers.
Pep Guardiola's team will win the title on Tuesday if Liverpool loses at Southampton.
"It was a day of mixed emotions," said Grealish. "At the start, I thought we dominated the game and we knew they were going to sit in and try and counter attack with (Michail) Antonio up front.
"I think it's perfect for them to get hold of the ball and then play balls in behind for runners and that's what they did for both of the goals.
"Coming at halftime, we would've taken a draw all day long. (The title) is in our hands and we recover now and have a big week of training, and try to win the next game."
After City defender Oleksandr Zinchenko lost track of Bowen, the West Ham forward raced on to Pablo Fornals' pass over the top and took it around goalkeeper Ederson for a clinical finish in the 24th minute.
Bowen added another in the 45th minute when Antonio sent him through with a clever pass and the English forward's low strike from the edge of the box found the bottom corner.
City bounced back in the second half after playmaker Grealish scored for the visitors in the 49th minute with a volley after Rodri headed a high ball over to him in the box.
West Ham had the chance to add its third goal in the 65th minute when a loose back pass from Fernandinho sent Antonio through on goal but the Jamaican forward sent his shot over the bar.
The host was left to rue the missed chance as it conceded an own goal, with West Ham defender Coufal heading a cross from Mahrez into his own net in the 69th minute.
Mahrez could have become City's hero in the 86th minute but his spot-kick was kept out by keeper Lukasz Fabianski after Craig Dawson brought down Gabriel Jesus in the penalty box.
The result guaranteed West Ham European football next season as it stayed seventh on 56 points.
The game also marked Mark Noble's farewell match in front of home fans, with the midfielder set to bring the curtain down on his 18-year, one-club career at the end of the season.
"Fantastic day for me and my family. Great day for the fans because they (City) are a very special team," said Noble. "To go 2-0 up against them... we didn't have a lot of the ball. Two counter-attacks and two goals.
"Fantastic finishing from Jarrod. All in all, a perfect day."
Struijk snatches last-gasp draw for Leeds
A stoppage-time header from substitute Pascal Struijk snatched Leeds United a crucial 1-1 draw against Brighton & Hove Albion on Sunday to lift it out of the Premier league relegation zone.
With Burnley in 17th having lost at Tottenham Hotspur earlier on Sunday, Leeds knew what it had to do in front of a raucous Elland Road, but got off to the worst possible start as Danny Welbeck gave Brighton the lead in the 21st minute.
Leeds fans grew more and more frustrated as the match wore on and an equaliser remained elusive, singing the name of previous coach Marcelo Bielsa and chanting "sack the board" in the direction of the club's owners in the director's box.
However, there was late, late drama as Struijk arrived at the back post to snatch a draw in the 92nd minute, sparking wild scenes of celebration among players, staff and supporters.
It could be the goal that preserves Leeds' Premier League status next season, with Jesse Marsch's side now on 35 points ahead of next weekend's final round of fixtures, one clear of Burnley, who have two games left. Brighton stayed 10th.
Watford suffers Leicester City mauling
Jamie Vardy and Harvey Barnes scored two goals each as Leicester City thrashed relegated Watford 5-1 at Vicarage Road in the Premier League on Sunday.
Watford led after six minutes through a half-volley from Joao Pedro after the away side failed to clear a corner, but James Maddison and Vardy scored in quick succession to turn the game in Leicester's favour.
Midfielder Youri Tielemans capitalised on a defensive mix-up from Watford and squared the ball to Maddison, who steered it into an empty net to bring Leicester level with his 16th goal of the season across all competitions.
Maddison played a long ball forward and Watford goalkeeper Ben Foster raced off his line to punch it clear but Vardy headed it home to put Leicester ahead.
Barnes scored 30 seconds after the restart, volleying past Foster from substitute Marc Albrighton's cross, and set up Vardy's second with 20 minutes remaining for the striker to score his 14th league goal of the campaign.
With five minutes remaining, Leicester countered through Maddison and Barnes connected with the midfielder's pass to coolly beat Foster as Watford slumped to its seventh defeat in eight league games.
Wolves' European hopes end following 1-1 draw with Norwich
Wolverhampton Wanderers' hopes of playing in Europe next season ended following a 1-1 draw with relegated Norwich City in the Premier League on Sunday.
Bottom placed Norwich took a surprise lead in the 38th minute after striker Teemu Pukki sent a low shot into the right corner.
Defender Rayan Ait Nouri levelled for Wolves in the 55th, with the France Under-21 international nodding in a rebound following a free kick from close range.
The draw extended Wolves' winless streak to six matches.
With one game left to play, Wolves is eighth in the standings on 51 points, five below seventh-placed West Ham United. The seventh-placed team qualify for the continent's third tier competition, the Europa Conference League.
Schlupp makes Palace point at Villa
Substitute Jeffrey Schlupp struck an 82nd-minute equaliser as Crystal Palace fought back for a 1-1 draw at Aston Villa in the Premier League on Sunday.
Danny Ings twice came close to opening the scoring for Villa, firing wide from a John McGinn cross and putting a volley over the bar.
Villa keeper Emiliano Martinez did well to keep out Nathaniel Clyne's effort for Palace but it was the home side who took the lead in the 69th minute through Ollie Watkins who confidently converted a fine ball from French full back Lucas Digne.
Palace pushed forward in search of an equaliser and got their reward when Schlupp slotted home from close range to earn a share of the points for Patrick Vieira's side.
Palace is 11th on 45 points, a point ahead of 12th-placed Villa.