The best domestic league in the world didn’t exactly enjoy its most thrilling season in 2024-25. The Premier League title and all three relegation spots were locked up before May, and while the race for UEFA Champions League berths went all the way to the end of the season, the only final-day drama we got revolved around a controversial refereeing decision. Hell, with Mohamed Salah’s steady heroics — at one point in the fall, he scored in seven straight matches and 11 of 12 — even the league’s player of the year honors were decided early.
Still, every season is a time capsule in itself, and this one still gave us an incredible Salah contract year, wonderfully intriguing charges by teams such as Nottingham Forest and AFC Bournemouth and, indeed, a down-to-the-wire race for Champions League spots. A big-time league is always going to produce moments and players worth celebrating, so here are some of this season’s most sparkling stats and superlatives.
Best XI
Goalkeeper: Matz Sels, Nottingham Forest
Nottingham Forest suffered some of the worst goalkeeping you’ll ever see last season; as I wrote in the season preview, Sels, Matt Turner and Odisseas Vlachodimos combined to allow over 17 more goals than expected based on the quality of shots they faced, and it prevented them from surging under Nuno Espirito Santo late in 2023-24.
With both Vlachodimos and Turner gone, the job was all Sels’ this season … and damn, if he wasn’t spectacular. Forest did a good job of preventing too many high-quality opportunities from coming Sels’ way — the center back duo of Murillo and Nikola Milenkovic was outstanding — but his 4.3 goals prevented were fourth highest in the league, and his 13 clean sheets were tied for the most.
Backup: Alisson Becker, Liverpool
Left back: Antonee Robinson, Fulham
Robinson has been a solid Premier League full back for a while, but he shifted into a new gear. No one balances the demands of the position better than the 27-year-old, who somehow ranked first among all Premier League full backs in both assists (10 — four more than even Trent Alexander-Arnold) and defensive interventions (496). He was second among full backs in progressive carries (284), too, trailing only Manchester City’s Josko Gvardiol. He was almost literally everywhere for an overachieving Fulham.
Backup: Josko Gvardiol, Manchester City
Center backs: Virgil van Dijk, Liverpool, and James Tarkowski, Everton
Like Robinson, Van Dijk has long been among the league’s best defenders in two completely different ways: He starts the buildup game as well as anyone — he was first among all defenders in touches, pass attempts and completions — and he contributes to the attack in terms of both passing (10th among center backs with 12 chances created) and set pieces (three goals, 27 shot attempts). But then he’s also still just about the best security blanket in the world: He ranked 11th among center backs in defensive interventions (despite Liverpool not needing as many of them as others), and he was second among regular center backs in aerial success rate (72.1%). At 33, he’s still the total package.
Tarkowski, meanwhile, produced even better defensive stats, even if they came without as many offensive fireworks. Tarkowski and Forest’s Murillo might have been the best defending defenders in the league, and we’ll give Tarkowski the edge because of pure aerial prowess: Not only was he fifth among center backs in both defensive interventions and blocked shots; he also won 74.6% (first) of his 138 aerial duels (ninth). He’s the most talented and effective tree in the league, and he gets bonus points for the fact that his only league goal of the season was a dramatic game-tying one at the Merseyside derby against Liverpool.
Backups: Murillo, Nottingham Forest, and Fabian Schär, Newcastle United
2:00
‘Van Dijk & Salah are more Scouse than him now’ – Paddy Pimblett’s full Trent rant
Paddy Pimblett shares his opinion on Trent Alexander-Arnold’s departure from his boyhood club Liverpool.
Right back: Trent Alexander-Arnold, Liverpool
The vibes were awkward as the best passing full back of the 2020s prepared to leave for (presumably) Real Madrid, but don’t let that take away from the fact that Alexander-Arnold remains ridiculous in terms of ball distribution. Among full backs, only Robinson and Wolves’ Rayan Aït-Nouri — who was only partially a full back — topped his six assists, only Gvardiol topped his 278 progressive passes, and no one topped his 7.4 expected assists from completed passes or his five successful one-on-ones in the box. Combine that with ever-decent defensive numbers, and it’s pretty clear that Trent was still Trent in Liverpool’s title season.
Backup: Pedro Porro, Tottenham Hotspur
Defensive midfielder: Youri Tielemans, Aston Villa
An A-grade attacking midfielder playing from defensive positioning. The 28-year-old Tielemans was decent enough in defense, blocking 16 shots (fifth among midfielders) with 331 defensive interventions (18th), but he was asked to do a ton in pivoting Villa into attack, and he was just brilliant at it: He was third among all midfielders in touches (2,526), fourth in progressive passes (285) and eighth in both assists (7) and chances created (61). He could force the issue, too, scoring three goals and winning nine fouls in the attacking third.
Backup: Enzo Fernández, Chelsea
Central(ish) midfielder: Bruno Fernandes, Manchester United
Okay, we’re certainly building a pretty attack-friendly XI here, but while Fernandes has done most of his work from attacking midfield positions through the years, he was asked to play further back once Ruben Amorim took over at Manchester United. Being Bruno Fernandes, he was excellent at it. He finished the year first among midfielders in progressive passes (364), second in assists (10) and first in chances created (91). He scored eight goals, too, and of the eight, three gave United the lead — no small feat in a season in which they finished 15th in the table — and two more tied the game.
Backup: Martin Ødegaard, Arsenal
Central attacking midfielder: Cole Palmer, Chelsea
Sure, he did a lot of his work early in the season, but 23 combined goals and assists is still dynamite output for someone typically based well outside the box.
In his first 15 league matches, Palmer combined 11 goals with six assists, producing two of the most staggeringly impressive performances of the season: a one-goal, three-assist effort in a 6-2 win over Wolverhampton Wanderers in August, and a four-goal, four-chances performance in a 4-2 win over Brighton & Hove Albion. He had a spot in this XI locked up by December.
Backup: Morgan Gibbs-White, Nottingham Forest
Left winger: Luis DÃaz, Liverpool
For as good as Salah was — and he was ridiculous — Diaz’s own improvement was an unfair proposition for opponents.
Diaz, 2022-23: 0.54 goals+assists per 90 min., 0.34 xG+xA per 90 min
Diaz, 2023-24: 0.44 G+A/90, 0.57 xG+xA/90
Diaz, 2024-25: 0.67 G+A/90, 0.62 xG+xA/90
After producing a solid eight goals and five assists in league play last season, Diaz went for 13 and five, while playing 235 fewer minutes, in 2024-25. Salah vacuumed up opportunities, but Diaz’s 18 combined goals and assists still tied for 12th in the league and first among left wingers.
Backup: Eberechi Eze, Crystal Palace
Center-forward: Alexander Isak, Newcastle United
You know it was a strange season for center-forwards when Nottingham Forest’s Chris Wood nearly finished with the same number of goals as Manchester City’s Erling Haaland. But Isak topped them both. He produced as many assists as both of them combined and scored only one fewer non-penalty goal than Salah in nearly 600 fewer minutes. He carries a lot of weight in the Newcastle attack, and he’s constantly up for the challenge: He scored in 18 league matches this season — the Magpies averaged 2.44 points per game (14 wins, 2 draws, 2 losses) when he scored and 1.4 when he didn’t.
Backup: Erling Haaland, Manchester City
Right winger: Mohamed Salah, Liverpool
Obviously.
Backup: Bryan Mbeumo, Brentford
Player of the season: Mohamed Salah
The big numbers are impressive enough: His 47 combined goals and assists matched the record set by Alan Shearer (1994-95) and Andy Cole (1993-94), and both Shearer and Cole did it in 42-game seasons. His 29 goals and 18 assists were each six more than anyone else. He attempted more shots than anyone (130) and created the third-most chances in the league. Ridiculous in every possible way.
Honestly, though, Salah might have produced an even more impressive number than any of that. Only two players won more than 15 one-on-ones in the defensive box this season: Manchester City dribble master Jérémy Doku had 18 … and Salah had 28. Best scorer, best passer and best dribbler in the league? At age 32?? Come on.
Game of the Season
1. Everton 2-2 Liverpool, Feb. 12: Everton’s new stadium will inevitably be gorgeous and sparkly and fresh, but the sport loses strands of its DNA when old stadiums fall by the wayside. At least we sent Goodison Park off into the sunset with one last glorious derby.
2. Newcastle United 3-3 Liverpool, Dec. 4: Countless plot twists here. Anthony Gordon gave Newcastle a 2-1 lead in the 62nd minute, only for Salah to score twice in 15 minutes to give the eventual league champs the advantage. They couldn’t see it out, though: Liverpool keeper CaoimhÃn Kelleher let a free kick go over his head, and a sliding Fabian Schar somehow slid it into the net from an impossible angle.
3. Brentford 2-2 Manchester City, Jan. 14: Blown leads were a thing for City this year, and this one might have been the most maddening of the bunch. After more than an hour of frustrating misses, City got two goals in 13 minutes from Phil Foden and led 2-0 into the final stages. But Yoane Wissa scored in the 82nd minute, then Christian Norgaard set Brentford Community Stadium alight, flicking a header past Stefan Ortega in the fifth minute of stoppage time.
4. Manchester City 2-1 Aston Villa, April 22: After a shocking midseason funk, City finally gathered themselves (with help from hundreds of millions of pounds in January transfer spending), going on a late, 10-match unbeaten streak to lock up a Champions League bid. This result, against top-five rival Villa, was the most vital. A Marcus Rashford penalty drew Villa level early on, but Matheus Nunes got on the end of a Doku cross in the 94th minute, and City took all three points.
5. Tottenham Hotspur 3-4 Chelsea, Dec. 8: Who doesn’t love a good popcorn flick? In the UEFA Europa League, Spurs played sufferball to great effect, narrowly holding on to leads in the knockout rounds and taking the trophy. In league play, however, they couldn’t hold their collective nerve nearly as well. In this one, they led 2-0 after just 11 minutes thanks to a pair of Marc Cucurella errors, but Chelsea scored three second-half goals, including a pair of Palmer penalties, to take a commanding 4-2 lead. Son Heung-Min cut the lead to one in stoppage time, but the Blues held on for a road win.
Best single-game performance
1. Cole Palmer vs. Brighton & Hove Albion, Sept. 28: I mean, you score four goals (in one half!) and create four chances, and you’re leading this list. No-brainer.
2:28
What has happened to ‘invisible’ Cole Palmer?
Steve Nicol reacts to Cole Palmer’s performance in Chelsea’s 1-0 win vs. Everton.
2-3. Mohamed Salah vs. Tottenham Hotspur, Dec. 22, and Mohamed Salah vs. Southampton, March 8: Really, pick your flavor here. In the former, Salah scored two goals with two assists in a 6-3 track meet win over Spurs, one that opened up a four-point lead over Chelsea (and six over Arsenal) with a game in hand. In the latter, he scored two second-half goals to break a 1-1 halftime tie, and he created six chances for five different teammates. Only two excellent saves from Southampton’s Aaron Ramsdale prevented a second two-goal, two-assist game.
4. Murillo vs. Liverpool, Jan. 14: Nottingham Forest pulled a thrilling and seemingly vital 1-1 draw with Liverpool in January, one in which Liverpool enjoyed 70% possession and deployed constant pressure. The main reason for the draw? Murillo’s 31 defensive interventions, the second most anyone produced in 2024-25.
5. Mads Hermansen vs. Arsenal, Sept. 28: Leicester’s keeper produced the single best goalkeeping performance of the season … in a 4-2 loss. He made 13 saves, and while Arsenal scored three goals (with an own goal added in), their post-shot xG value for shots on target was 6.1. Only Hermansen’s heroics prevented something like a 7-2 loss.
6. Cole Palmer vs. Wolverhampton Wanderers, Aug. 25: One goal and three assists from four chances in a 6-2 win in the second game of the season. A pretty good way to start 2024-25.
7. Ezri Konsa vs. Tottenham Hotspur, May 16: In a vital 2-0 win for Aston Villa, Konsa was a ball progression machine: His 60 combined progressive carries (42) and progressive passes (18) were the second most anyone produced all season.
8. Justin Kluivert vs. Newcastle United, Jan. 18: This was the best game of the Bournemouth winger’s breakout season. He netted a hat trick with an assist (from three chances created) in what sure felt like a statement win for the Cherries at the time.
9. Kevin Schade vs. Leicester City, Nov. 30: After scoring two goals in two seasons for Brentford, the 23-year-old enjoyed an 11-goal breakout, and three came in this game. The Bees won 4-1 — he assisted on the other goal as well.
10. Josko Gvardiol vs. Wolverhampton Wanderers, Oct. 20: Lost amid what turned out to be a rather turgid season for Manchester City (by their standards) was Gvardiol’s own excellence. He played more left back than center back in 2024-25, and he ended up playing a pretty significant role in both defense and ball progression. The blueprint was set in this match: He completed a whopping 30 progressive passes and tied the game with a glorious long-range goal in an eventual 2-1 win.
Best young player (22 and under)
1. Murillo, Nottingham Forest, 22: A major difference-maker for the most surprising team of the season.
2. Morgan Rogers, Aston Villa, 22: Second on the team in goals (8), first in assists (10) and second in ball recoveries (115). That’s a rare combination, especially on a good team.
3. Dean Huijsen, AFC Bournemouth, 20: Extraordinary mess-cleaning, plus set-piece goals in memorable wins over Tottenham Hotspur, Manchester United and Arsenal? That will get you remembered in Bournemouth. It will also get you a £50m summer transfer to Real Madrid.
0:51
Marcotti: Huijsen’s £50m transfer clause ‘like a free transfer’
Gab Marcotti talks about Dean Huijsen’s reported transfer to Real Madrid from Bournemouth.
4. Liam Delap, Ipswich Town, 22: Asked to carry an outmanned Ipswich attack, Delap responded well, scoring 12 goals with two assists. A one-on-ones and progressive carries machine.
5. Lewis Hall, Newcastle United, 20: He’s an increasingly important contributor for a Champions League team, and he can’t legally drink in the States yet.
Honorable mentions: Amad Diallo, Manchester United; Elliot Anderson, Nottingham Forest; Savinho, Manchester City; Jarrad Branthwaite, Everton; Yankuba Minteh, Brighton & Hove Albion; Carlos Baleba, Brighton & Hove Albion; Destiny Udogie, Tottenham Hotspur; Tino Livramento, Newcastle United
Manager of the season
1. Nuno Espirito Santo, Nottingham Forest: He’s actually the continent’s manager of the season and proof that when a manager has the pieces to fit his or her identity, magic can follow.
2. Arne Slot, Liverpool: He did such a good job this year that it made us wonder if managers matter at all.
3. Andoni Iraola, AFC Bournemouth: He had a young, banged-up team, and his Cherries managed to frustrate the hell out of richer, more experienced teams all season.
Honorable mentions: Thomas Frank, Brentford; David Moyes, Everton; Eddie Howe, Newcastle United
Best signing of the season
1. Dean Huijsen, Bournemouth, €19.6m: He came from Juventus, spent one brilliant season for a brilliantly overachieving team, and now leaves for a big club (and big profit). Good business.
2. Nikola Milenkovic, Nottingham Forest, €12.3m: Murillo’s breakout season was vital to Forest’s success, but having a cranky enforcer next to him in the back certainly helped. Premier League teams paid at least €40m in transfer fees for 17 different players in the summer and winter transfer windows. None of them worked out as well as this €12m deal.
3. Mikel Merino, Arsenal, €32m: Known primarily as a presser with good ball progression at Real Sociedad, Merino proved his adaptability by picking up a solid scoring load (he netted a career-high seven goals) for a banged-up Arsenal attack.
4. Liam Delap, Ipswich Town, €17.9m: He couldn’t save Ipswich from relegation, but a likely summer transfer means he’ll likely deliver a decent profit on the way out the door.
5. Aaron Wan-Bissaka, West Ham United, €17.6m: After a frustrating run at Manchester United, Wan-Bissaka moved to east London, took on a more diverse role and ended up either setting or tying Premier League career highs in goals (2), assists (4), shot attempts (16), progressive passes (161), one-on-ones (128), fouls suffered (26) and, at the other end and by a wide margin, defensive interventions (459). He couldn’t make West Ham a particularly interesting team, but he was very solid.
Honorable mentions: Emmanuel Agbadou, Wolves (€20m); Sander Berge, Fulham (€23.6m); Lewis Hall, Newcastle (€33m); Omar Marmoush, Manchester City (€75m); Ismaïla Sarr, Crystal Palace (€15m)
Best loan: Marco Asensio, Aston Villa: Aston Villa played 22 matches in all competitions after bringing the Paris Saint-Germain veteran on loan on Feb. 3. He played only 56% of minutes in this span, but he led the team in goals (8) and was fourth in chances (24). More importantly, he helped Villa win eight of their final 10 Premier League matches to charge back into (but, sadly, fall just short of) Champions League contention. Asensio has always been a versatile attacker, and he fit like a glove on Unai Emery’s squad.
Worst signing of the season
1. João Félix, Chelsea, €52m: This has been a mostly positive set of lists — “superlatives” and all — but the transfer market is a two-way street, and poor signings can drag you down as much as good ones prop you up. Chelsea snagged a top-five finish and will return to the Champions League in 2025-26, but they most likely expected to get more than a total of 10 league goals and 14 assists from the €276m worth of transfers they brought in this year. Pedro Neto, the most expensive signing, contributed four of the goals and six of the assists, but Felix managed just one and one, respectively, doing some damage in the UEFA Conference League but getting loaned out to AC Milan (and not doing much there either) for the second half of the season.
Felix’s technical skill set is immense enough to have convinced many major clubs to take a chance on him. But he only occasionally actually makes those teams better.
2. Joshua Zirkzee, Manchester United, €42.5m: After a uniquely successful season at Bologna — he scored 12 goals with six assists in all competitions but did not provide any major shot volume or see much of the ball — the 23-year-old Zirkzee seemed almost destined to make a big-money transfer to a club that wouldn’t really know what to do with him. That club is often Manchester United. Zirkzee played 2,256 minutes in all competitions (about 25 90s) and scored just seven goals with two assists for a team that needed far more from the center forward position.
2:01
Amorim: Important changes coming at Man United
Ruben Amorim speaks after Man United’s 2-0 win over Aston Villa on the final day of the Premier League season.
3. Matthijs de Ligt, Manchester United, €45m: In the past six years, three different teams have paid a combined €197.5m in transfer fees for De Ligt’s services. He has spent most of those six seasons playing decent-to-solid ball, but injuries and frustrating glitches have held him back. On a team as fragile as United, he wasn’t able to provide many answers and managed only 14 Premier League starts.
4. Niclas Füllkrug, West Ham United, €27m: A year ago, he was starting in the Champions League final to wrap up a 16-goal, 11-assist year with Borussia Dortmund. West Ham paid a lot for the services of a 32-year-old late bloomer, but they probably expected more than 877 minutes and three goals in all competitions.
5. Kiernan Dewsbury-Hall, Chelsea, €35.4m: You could list quite a few different Chelsea signings here, but we’ll go with Dewsbury-Hall, who shone with Chelsea manager Enzo Maresca at Leicester City but barely saw the field in 2024-25, logging just 259 minutes in league play and, like Felix, serving mostly as a scorer in the Conference League.
Honorable mentions: Fabio Carvalho, Brentford (€23.4m); Ian Maatsen, Aston Villa (€44.5m); Eddie Nketiah, Crystal Palace (€29.7m); Luis Sinisterra, AFC Bournemouth (€23.4m); Emile Smith Rowe, Fulham (€31.8m)
Worst loan: Raheem Sterling, Arsenal: You could make a case for Jadon Sancho here — like Füllkrug, he went from starting for BVB in the Champions League final to playing a bit role for a frustrating team — but Sancho did still manage 1,702 league minutes, 3 goals and 4 assists. Sterling, on the other hand, seemed to absolutely hit a wall this season. Instead of providing a steady veteran hand in Arsenal’s attack, the 30-year-old scored just one goal, against Bolton Wanderers in the League Cup, and managed just 496 minutes in Premier League play.
>