It has been one of the greatest title races English football has seen, with this season's Premier League decided on the final day for just the 10th time.
Manchester City, Arsenal and Liverpool fought over top spot before Jurgen Klopp's Reds fell off the pace in the closing weeks.
And in the end, Manchester City took the crown after beating West Ham to secure a historic fourth title in a row, finishing two points ahead of Arsenal.
With such fine margins, here we look at 10 matches where we think the Premier League was won, and lost.
Manchester City won their first three league games this season – doing so for the first time since Pep Guardiola's debut campaign as manager in 2016-17
Manchester City were minutes away from a slip-up just three games into the season against promoted Sheffield United.
Jayden Bogle cancelled out Erling Haaland's opener by scoring in the 85th minute, and the Blades looked poised to pinch a point against the champions.
But, with two minutes remaining plus stoppages, key man Rodri struck a magnificent winner.
It handed Pep Guardiola his 200th Premier League win and helped City maintain their perfect start to the season.
Rodri rocket earns dramatic win for Man City
This video can not be played
Klopp angered by VAR controversy
Joel Matip's own goal deep into stoppage time gave Tottenham victory over nine-man title hopefuls Liverpool in a match packed full of video assistant referee drama.
The Reds were compromised by controversial red cards as Curtis Jones and Diogo Jota were sent off either side of half-time.
Liverpool had an opening goal from Luis Diaz ruled out by a hotly disputed VAR decision, as confusion between the referee and off-field officials led to the wrong verdict being reached.
PGMOL later issued a statement acknowledging a "significant human error" took place, calling the decision to rule out Diaz's goal "a clear and obvious factual error".
Jurgen Klopp wanted the game to be replayed, but that was never seriously on the cards,
Spurs beat nine-man Liverpool with late own goal
This video can not be played
Newcastle 1-0 Arsenal: Arteta labels VAR outcome 'embarrassing'
Four days after the Spurs-Liverpool drama, it was Arsenal who were beaten after VAR controversy as Anthony Gordon's second-half goal gave Newcastle victory over the title contenders in a feisty encounter.
Gordon's scrappy strike summed up a dogfight of a game, with the video assistant referee having to check whether the ball went out of play, if there was a foul and for offside, all before Newcastle were finally able to properly celebrate.
It condemned Arsenal to their first Premier League defeat of the season with manager Mikel Arteta later calling the VAR decisions "embarrassing" and a "disgrace".
Newcastle end Arsenal's unbeaten Premier League start
Arsenal ended 2023 in desperate form. Having already lost to Aston Villa and West Ham in December, they were then beaten at Fulham despite taking a fifth-minute lead.
The Cottagers drew level through Raul Jimenez, and Bobby De Cordova-Reid scrambled a winner just before the hour mark.
Arsenal would not lose again in the league until April, but given the closeness of the title race, their three dropped points against Fulham seem key.
The loss left Arsenal fourth and two points behind then leaders Liverpool, and level on points with Manchester City who had a game in hand.
Arsenal lose at Fulham and miss chance to go top
Arsenal had a five-point lead at the top of the Premier League table in mid-December
But the Gunners had dropped to fourth by January 1
At one point in January, Manchester City were five points behind leaders Liverpool and 2-1 down to Newcastle at St James' Park.
Kevin de Bruyne made all the difference in City's recovery on Tyneside, coming off the bench for his first appearance since suffering a hamstring injury in August.
He equalised in the 74th minute and set up Oscar Bobb who won the game with his first Premier League goal in injury time.
The result meant City were just about keeping in touch.
Bobb scores late winner for Man City at Newcastle
Phil Foden scored his second Premier League hat-trick, having netted three against Manchester United in October 2022
Manchester City do not have the greatest record against Brentford, even losing home and away to the Bees last season.
They went a goal down in February at the Gtech Community Stadium and needed some Phil Foden brilliance to go in level at half-time.
The Englishman added two more goals after the restart to complete his second Premier League hat-trick and send City up to second, above Arsenal.
It was a match that proved two things: City were still in the title race, and Foden was becoming undroppable in Guardiola's side.
Foden hat-trick at Brentford lifts Man City second
This video can not be played
Doku challenge was 'a clear penalty' – Mac Allister
Liverpool and City played out a thrilling draw to keep both teams hot on Arsenal's heels in March.
City took a 23rd-minute lead from a slick corner routine but were pegged back through Alexis Mac Allister's penalty in the 50th minute after goalkeeper Ederson fouled Darwin Nunez.
In the closing stages the Reds created chance after chance, while City twice hit the woodwork on the break.
The match almost had a final twist as City's Jeremy Doku caught Liverpool's Mac Allister with a high foot in the box in the final seconds, but nothing was given.
Liverpool and Man City fight out pulsating draw
Aston Villa produced an outstanding performance to stun Arsenal at Emirates Stadium and put Manchester City in pole position for the title once again.
The Gunners had a rare off day, conceding late goals through Leon Bailey and Ollie Watkins to fall to their first league loss of 2024.
It meant Arsenal missed a chance to return to the top of the table and ended the day two points off City.
Arsenal's disappointing result rounded off a fine weekend for Guardiola's City side, after they won 5-1 against Luton and Crystal Palace shocked Liverpool 1-0.
Manchester City returned to the top of the table midway through April
Late Villa goals dent Arsenal's title challenge
Jurgen Klopp tasted defeat at Goodison Park in his final Merseyside derby
Did Liverpool really lose the league at Goodison Park?
The cracks started to appear 10 days earlier with the home defeat by Palace, missing out on a chance to go top and staying two points behind leaders City.
Jarrad Branthwaite's first-half goal and a towering header from Dominic Calvert-Lewin after the break gave Everton their first Merseyside derby win at home since October 2010.
It left Liverpool three points adrift of Arsenal, and just one point ahead of City who had played two games fewer.
Subsequent draws against West Ham and Aston Villa meant Jurgen Klopp's side were mathematically out of the title race with two games still to play.
Impressive Everton win to hit Liverpool title hopes
Manchester City substitute keeper Stefan Ortega brilliantly denied Son Heung-min
Manchester City moved one win away from a historic fourth successive Premier League title with victory at Tottenham – a match which had been pencilled in by many as their final big hurdle in the title race.
Erling Haaland's second-half double settled a tight encounter in which substitute keeper Stefan Ortega deputised superbly for the visitors.
The German did well to deny Spurs captain Son Heung-min who had a golden chance to equalise just before City's second.
According to Opta, Arsenal would have had an 81% chance of winning the title if City had lost to Tottenham – and a 75% chance if that match had ended in a draw.
City's 3-1 win against West Ham on the final day carried the air of inevitability about it as they lifted the trophy once more.
Man City on brink of title after Haaland double sinks Spurs
Follow your Premier League club and get news, analysis and fan views sent direct to you
SA on brink of Super 8s with tense win over Bangladesh
Dobson claims 400m silver as Caudery wins pole vault bronze
Raducanu in 'really fit place' as grass season begins
Reach fever pitch with a hilarious comic set
A stellar line-up work their magic mixing running gags, quickies, send-ups and musical numbers
Catapulted from obscurity to overnight stardom
Trudy McCaffery recalls what it was like to play at the 'forgotten' Women's World Cup in 1971
To understand her past, she must find a killer…
Suspenseful Nordic noir, based on the best-selling novel by Emelie Schepp
The best defenders from European Championship history
Gary Lineker, Alan Shearer and Micah Richards rank the Top 10
'Euro 2024 feels like now or never for Southgate's England'
'Russell rues missed opportunity but big picture positive for Mercedes'
England? France? Portugal? Who will win the Euros?
Watch: Asher-Smith wins European 100m gold. Video
Britain's rising sprint star chasing Olympic dream
'US Open to deliver exacting test of technique and temperament'
India v Pakistan helps cricket's American dream gather pace
Alcaraz plans Eiffel Tower tattoo to mark Paris destiny
Pick your European Championship team of the century
The 'gravest crisis' after 1989's India v Pakistan in New York
Stress to serenity – Swiatek's 'surreal' fifth major
Are reigning champions Italy ready to defend Euros title?
'He was heart & soul of the dressing room' – team-mates' Burrow tribute. Video
'I don't believe it!' – Race walker loses medal after celebrating too early. Video
'I always hoped for return' – line judge back on court after coma
Choose your England team for Euro 2024 opener
Sensational upset awakens USA from 100-year cricketing hibernation
'Losing 2kg off your chest makes a difference'
© 2024 BBC. The BBC is not responsible for the content of external sites. Read about our approach to external linking.
44
add a comment