Manchester City and Liverpool took the final two place in the top-four as Arsenal missed out for the first time since 1996.
City and Liverpool needed wins to seal their spots in next season’s Champions League, and both made no mistake.
City had made sure of their win by half-time at Watford – as they were four goals to the good. Vincent Kompany, Fernandinho and a brace from Sergio Aguero set-up the victory.
Gabriel Jesus added a fifth in the second-half to seal a comfortable success for Pep Guardiola’s side.
Home, away, Europe… thank you for your amazing support this season, Blues! ?
See you in August! #mcfc pic.twitter.com/dY94be35tn
— Manchester City (@ManCity) May 21, 2017
Liverpool took fourth place thanks to a 3-0 win over already relegated Middlesbrough at Anfield.
Boro battled early on and looked like keeping a clean-sheet in the first-half but Gino Wiljnaldum struck in injury time to put The Reds ahead.
Philippe Coutinho soon doubled the lead just after the break and then Adam Lallana sealed the win with a third goal just before the hour mark.
Arsenal had needed victory over Everton to claim a top-four place, and they did what they needed to do with with a 3-1 success at The Emirates – although they did it with ten-men.
Hector Bellerin put the home side ahead after just eight minutes, but then Laurent Koscielny was dismissed for bad challenge on Enner Valencia.
But despite being a man down, Arsenal doubled their lead with Alexis Sanchez on the half-hour.
Everton did pull one back on 58 minutes with top-scorer Romelu Lukaku scoring from the spot, but that was as good as it got for the visitors as the home side added a third in the final-minutes with Aaron Ramsey curling home.
At the top, champions Chelsea made history as they became the first side to win 30 games in one Premier League season as they hammered relegated Sunderland 5-1.
Full-time: Chelsea 5-1 Sunderland!
John Terry's final game at Stamford Bridge ends in three points for the champions! #CHESUN pic.twitter.com/rXxk6c4Seg
— Chelsea FC (@ChelseaFC) May 21, 2017
Chelsea were led out by captain John Terry on his farewell appearance – but Sunderland were looking to spoil their party and they took the lead after just three-minutes.
Javier Manquillo put the visitors ahead but Chelsea were soon level with Willian levelling. Terry was then given a standing-ovation on 26-minutes (his number) as he was taken off to get the applause from the home fans.
Chelsea eventually went ahead on the hour with Eden Hazard scoring, and then Sunderland were helpless to prevent the champions turning on the style.
Pedro added a third before two goals in the final minutes from Michy Batshuayi sealed the win.
Second placed Tottenham made sure they signed off in remarkable fashion. After beating Leicester 6-1 in midweek, they beat relegated Hull City 7-1 – with Harry Kane claiming back-to-back hat-tricks which saw him claim a successive Golden Boot. Kane finished the season with five hat-tricks, which equals the Premier League record.
Your golden boot winner! Congrats, @HKane! #COYS pic.twitter.com/VQFdeEg0sE
— Tottenham Hotspur (@SpursOfficial) May 21, 2017
Kane opened the scoring with two goals in the opening 13-minutes before Dele Alli added a third on the stroke of half-time.
Sam Clucas pulled one back for Hull on 66-minutes but it was no more than a consolation as further goals from Kane, Victor Wanyama, Ben Davies and Toby Alderweireld sealed a remarkable win.
At Old Trafford, sixth placed Manchester United played their youngest ever Premier League starting XI with Jose Mourinho resting a number of players ahead of next week’s Europa League final against Ajax – but they still had too much for Crystal Palace claiming a 2-0 win.
The opening goal came from debutant Josh Harrop – who was one of four players to given their first league starts by United.
@joshharrop23 .@JoshHarrop23's week just keeps getting better!
Monday: Hat-trick for our Reserves. ⚽⚽⚽
Sunday: Senior debut and scores after 15 minutes. ⚽ pic.twitter.com/gsUUq1nlhv— Manchester United (@ManUtd) May 21, 2017
Paul Pogba, who played less than 45-minutes in order to be rested, added the second shortly before he was replaced.
Southampton finished in eighth place, despite losing 1-0 to Stoke City at St Mary’s with the winner coming through former Saints striker Peter Crouch on the hour.
Bournemouth ended the season in ninth place after a 1-1 draw at Leicester City. The Cherries went ahead inside the opening 60 seconds with Junior Stanislas on target.
Leicester, last season’s champions, made sure they did not finish in defeat with Jamie Vardy levelling just minutes into the second-half.
West Bromwich Albion finished the season in tenth place, despite going down 2-1 at Swansea City. Jonny Evans had given The Baggies a first-half lead, but Swansea battled back and sealed the win thanks to goals from Jordan Ayew and Fernando Llorente.
Finally, West Ham booked 11th spot with a 2-1 win at Burnley. Sam Vokes had put the home side ahead on 23-minutes only for Sofiane Ferghouli to level just moments later.
The winner came with just 18-minutes left when Andre Ayew pounced.