The destination of the Premier League title needed to be resolved on the final day of the season.
Manchester City knew a win at Brighton would see them defend their crown, while Jurgen Klopp's side had to beat Wolves at Anfield and rely on Pep Guardiola's team failing to secure three points at the Amex Stadium.
Here, we take a look at how the drama unfolded.
2.50pm – Sir Geoffrey Boycott was welcome at Old Trafford despite criticising Ole Gunnar Solskjaer's team during an interview with the club's in-house TV channel during the week.
3.03pm – Realistically, the top four was already sewn up, barring another football miracle. Fourth-placed Tottenham started the day three points and eight goals ahead of local rivals Arsenal. And Eric Dier put Spurs ahead in the third minute against Everton, smashing home from a corner.
3.09pm – City had an early scare as Alireza Jahanbakhsh cut inside and unleashed an effort from distance that just went wide.
3.11pm – Jonjo Shelvey and Ayoze Perez fired Newcastle into an early two-goal lead at relegated Fulham. Sergio Aguero failed to connect cleanly with a header for City.
3.16pm – Liverpool applied the pressure in the 16th minute, leapfrogging City to the top of the table, when Sadio Mane tapped in Trent Alexander-Arnold's deflected cross. A fine effort from Mark Noble put West Ham 1-0 up at Watford.
3.23pm – City continued to push forward but to no avail. Their neighbours Manchester United, who handed youngster Mason Greenwood his first start, fell behind at home to relegated Cardiff. Diogo Dalot brought down Nathaniel Mendez-Laing in the box and the midfielder then buried the penalty.
3.26pm – Liverpool fans were celebrating again at Anfield, not because of a second goal but because Brighton had scored. Glenn Murray headed in a corner at the near post to leave City with it all to do. Crystal Palace went ahead against Bournemouth through Michy Batshuayi.
3.28pm – But Brighton's lead did not last long. It was as you were, after Aguero shot under Mathew Ryan.
3.29pm – Ryan denied City just a minute later, keeping out Bernardo Silva's header.
3.34pm – Mohamed Salah volleyed over at Anfield, while Ryan denied Riyad Mahrez at the Amex. Batshuayi's second gave Palace control at Selhurst Park.
3.37pm – But Ryan could do nothing to prevent City going 2-1 ahead in the 37th minute, with the unmarked Aymeric Laporte heading into the bottom corner. Anfield was silenced.
3.41pm – Manuel Lanzini gave West Ham a 2-0 lead at Vicarage Road and Palace went 3-0 up courtesy of an own goal from Jack Simpson. Huddersfield were behind in their final Premier League match, conceding to Nathan Redmond.
3.44pm – Liverpool were a whisker away from conceding an equaliser. Wolves wing-back Matt Doherty drove a first-time effort against the crossbar. Bournemouth pulled a goal back through Jefferson Lerma.
3.45pm – Ederson Moraes was a relieved man on the stroke of half-time. Lewis Dunk's swerving 25-yard free-kick slipped through his hands and, fortunately for the City goalkeeper, the ball landed on the top of the net. As it stood at half-time, City were 45 minutes away from becoming champions again.
4.08pm – Watford made a great start to the second half, halving the deficit thanks to a Gerard Deulofeu strike. But their hopes of securing a positive result suffered a significant blow following Jose Holebas' red card for tripping Michail Antonio, meaning the defender is set to miss next weekend's FA Cup final.
4.11pm – Solskjaer's hopes of ending the season with a win went from bad to worse at Old Trafford. Mendez-Laing added a second for Cardiff. Pierre-Emerick Aubameyang's 21st goal of the Premier League season gave Arsenal a 1-0 lead at Burnley.
4.12pm – Wolves looked like they had a goal in them and continued to attack at Anfield. Bournemouth were making a good fist of it at Selhurst Park as Jordon Ibe cut the gap to 3-2.
4.14pm – Some joy for Huddersfield fans at St Mary's. Alex Pritchard drew them level in the 55th minute.
4.18pm – Raheem Sterling had a deflected shot saved by Ryan as City looked to secure a two-goal cushion. Newcastle were home and dry at Craven Cottage after Fabian Schar headed in a third. Not a great start for new Fulham permanent boss Scott Parker.
4.19pm – Divock Origi had a volley deflected over at Anfield. And just moments later City appeared to put two hands on the title. Mahrez, making a rare start, blasted a long-range shot into the top corner to make it 3-1 for City. To make matters worse for Liverpool, the Wolves fans were celebrating that goal in the away end.
4.21pm – Aubameyang had the Golden Boot in his sights, drawing level with Salah on 22 goals with a second at Turf Moor. Patrick Van Aanholt ended Bournemouth's hopes of a comeback, putting Palace 4-2 ahead.
4.23pm – Arsenal's two-goal lead did not last long as Ashley Barnes pulled one back for Burnley.
4.27pm – Former Arsenal winger Theo Walcott got one over Tottenham, scoring Everton's equaliser. Eden Hazard came on for Chelsea in the hope of breaking the deadlock at the King Power Stadium.
4.28pm – City made sure they would be champions with a fourth goal. Ilkay Gundogan curled a stunning free-kick past Ryan. The fans at Anfield knew their side were coming up short, even with 97 points.
4.38pm – West Ham sealed a top-10 finish when Marko Arnautovic netted a third goal at Watford. Bournemouth set up a nervy final 20 minutes, Josh King making it 4-3, while the goals were going in at Tottenham. Cenk Tosun added to Walcott's strike to put Everton 2-1 up, but Christian Eriksen responded shortly after.
4.36pm – Noble's second of the game, this time from the penalty spot, put West Ham 4-1 up. A bad day for the FA Cup finalists... The goals continued to flow at Selhurst Park as Andros Townsend made it 5-3 to Palace.
4.38pm – Liverpool had the comfort of a second at Anfield, but City were not going to surrender a three-goal lead at Brighton, even if it was the week of football comebacks. Mane headed in another fine cross from Alexander-Arnold.
4.40pm – Liverpool were finishing well and Virgil Van Dijk headed Alexander-Arnold's pinpoint cross against the bar.
4.43pm – City skipper Vincent Kompany, who scored that wonder goal against Leicester, received a massive hug from boss Guardiola after the defender was substituted with five minutes remaining. Will that be his last league game for City?
4.48pm – Similar to Kompany, could Salomon Rondon have played his last match for Newcastle? If the West Brom loanee has, he will have marked it with a goal, firing the Magpies into a 4-0 lead at Fulham.
4.50pm – There was two minutes of added time at Brighton before the City players celebrated wildly, shortly after the final whistle sounded at Anfield. Liverpool reached 97 points but came up short against a City side who won their last 14 league games.
4.53pm – City players and staff embraced in front of their fans at the Amex Stadium, while also mobbing Sky Sports pundit Yaya Toure. Liverpool's fans turned their attentions to the Champions League final by holding up European banners and singing songs at Anfield.
4.54pm – Eddie Nketiah's cross deflected off Burnley goalkeeper Tom Heaton to seal a 3-1 win for Arsenal at the death. Salah, Mane and Aubameyang all shared the Golden Boot with 22 goals.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport staff');
ga('pacontentapi.set', 'dimension2', 'f30bedbe-642e-4190-a6f9-18ee2f5f75c6');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:football,paservice:sport:uk');
ga('pacontentapi.set', 'dimension6', 'story-enriched');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:football');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'How the final day of the Premier League season unfolded'});