Chelsea, Manchester United and Aston Villa were the big winners on the final day of the Premier League season.
Chelsea and United will join Liverpool and Manchester City in the Champions League next season, thanks to their respective 2-0 wins over Wolves and Leicester City.
Leicester must be content with a place in the Europa League, alongside Tottenham, while seventh-placed Wolves will wait to see whether Arsenal beat Chelsea in next weekend's FA Cup final to discover their European fate.
Wolves could yet earn a Champions League spot by winning the Europa League next month.
Jack Grealish's late goal helped Villa to a survival-sealing 1-1 draw at West Ham. Bournemouth won 3-1 at Everton and Watford lost 3-2 at Arsenal. Both the Cherries and Hornets will be playing Championship football next season.
Here, we look at how Sunday's events unfolded in England's top flight.
16:01 – Five changes for champions Liverpool and they go behind inside 25 seconds as Newcastle United striker Dwight Gayle catches the reshuffled Reds napping.
16:04 – Watford make a nightmare start to their title bid as Pierre-Emerick Aubameyang gives Arsenal an early lead from the penalty spot. The Gabon international was fouled by Craig Dawson.
16:12 – Wonderful touch and finish from Harry Kane to put Tottenham in front at Crystal Palace and fire their top-six ambitions.
16:13 – Another big penalty in the relegation scrap as Joshua King puts Bournemouth ahead at Goodison Park.
16:20 – OOOFFF! Nick Pope started the final day with Golden Glove ambitions, level on 15 clean sheets with Manchester City goalkeeper Ederson, but there is nothing the Burnley goalkeeper can do about a 25-yard screamer from Brighton and Hove Albion's Yves Bissouma.
16:24 – More Watford woe as Arsenal cut through their defence far too easily and Kieran Tierney applies a side-foot finish for his first Premier League goal.
16:33 – Training ground stuff from Aubameyang, who sets himself up for his own overhead kick from Tierney's corner – moving to within a goal of Jamie Vardy in the Golden Boot race. Stick a fork in Watford, they're done.
16:43 - Cancel that, there's hope for Watford! David Luiz brings his innate feel for light entertainment to the party by fouling Danny Welbeck in the box. Troy Deeney takes a Troy Deeney penalty and it goes in.
16:45 – Moise Kean tapped in from close range to level for Everton, but Dominic Solanke's stoppage-time header restores Bournemouth's lead at the break. They need a favour from West Ham, where the goalless scoreline will do Aston Villa just fine for the moment.
16:45 – Glorious behaviour from Kevin De Bruyne, who takes a touch outside the Norwich City penalty area and clips a sensational finish over Tim Krul into the top corner. Manchester City were already leading through Gabriel Jesus' 11th-minute goal.
16:48 – Chelsea are heading back to the Champions League! Frank Lampard's men strike not once, but twice in first-half stoppage time against Wolves. Three minutes after Mason Mount's sumptuous free-kick, Olivier Giroud perseveres to crown a sharp counter-attack.
17:10 – Chris Wood levelled for Burnley before half-time but Aaron Connolly restores Brighton's advantage at Turf Moor.
17:11 – Jeffrey Schlupp sends a finish soaring into the roof of the net for Palace. Opponents Spurs remain in sixth as it stands, but they are only ahead of Wolves on goal difference.
17:18 – Big moment at the King Power Stadium as Vardy flicks a header on to the top of the crossbar. Chelsea's strong showing against Wolves means it looks like Leicester must win and Manchester United must not lose as they duke it out for top-four honours.
17:18 – After Virgil van Dijk's equaliser, Divock Origi scores Liverpool's second set-piece goal of the day at Newcastle to move them towards 99 points – the second highest total in Premier League history.
17:27 – Penalty to Manchester United! Jonny Evans and Wes Morgan converge on Anthony Martial after Hamza Chowdhury gets caught in possession. VAR upholds Martin Atkinson's decision.
17:27 – Another buzz of defiance from the Hornets as Danny Welbeck scores against his old club from close range.
17:29 – Bruno Fernandes scores! Cool as you like from Manchester United's season-changing signing, who sends Kasper Schmeichel the wrong way from the spot. Ole Gunnar Solskjaer's men are on their way back to the Champions League.
17:29 – Danny Ings might be the Southampton striker who entered the final day with Golden Boot ambitions but Che Adams' second of the game puts Ralph Hasenhuttl's men 2-1 up from a goal down against Sheffield United.
17:37 – That's 100 Premier League goals for a third successive season for Manchester City. Raheem Sterling now has 20 of those and De Bruyne has set up 20 of them, matching Thierry Henry's single-season assist record.
17:41 – Ings converts from the spot as Southampton go 3-1 up. Like Aubameyang, he's poised to finish on 22 goals – one behind Vardy.
17:43 – David Silva is embraced by his Manchester City team-mates as he is substituted on his final Premier League appearance. Riyad Mahrez has just made it 4-0.
17:44 – Huge, gigantic, massive goal for Aston Villa! And it had to be Grealish. Lukasz Fabianski should have done better but Villa will not care at all.
17:45 – BUT WAIT! West Ham are level after Andriy Yarmolenko's shot is deflected in off… that's right, Grealish. How are your nerves?
17:48 – Two of the season's outstanding players sign off in style. De Bruyne wraps up a 5-0 City win – a result that means the Golden Glove for Ederson - with his second of the afternoon, while Sadio Mane completes a 3-1 comeback win for Liverpool at Newcastle.
17:56 – Deep, deep into stoppage time at Leicester, Jesse Lingard rubber-stamps third place for Manchester United. What on earth was Schmeichel doing?
17:59 – Full-time at Emirates Stadium and Arsenal have edged it, so Watford are down. Welbeck and Deeney had chances to equalise for Watford, but the result means Villa's players are now celebrating across London. Junior Stanislas completed a fine Bournemouth showing at Everton but the Cherries are also doomed.