Leeds and Bradford leave it late, Donny leave L2 as champions, and Luton leave the Championship...
05 May 2025 | Weekend Notes brings you the biggest stories, stats and insights from the EFL weekend.
● BIG STORIES ● CHEAT SHEET ● 5IVELIGHTS ● FANTASY FOOTBALL ●
What an afternoon…
The EFL weekend creates a chaotic splurge of information, and never more so than this final day, where late goals changed so much. What an afternoon. What a season. What a pleasure it’s been to try and distil it all in these emails on a Monday.
This is the final Weekend Notes of the season as we start moving to a slightly different drumbeat. Play-offs. Play-offs. Play-offs. Wembley. Summer. Scouting. Transfers. Tactics. Managers, squads and more. Most of that content — whether it’s transfer news or Ali & George roasting their 1-24s on DAG… — will exist behind a paywall. If you fancy taking all that in for free, then we’re offering readers a 30-day free trial. If not, this newsletter will return to inboxes in August. …Go well!
🚨 Big Stories
The decisive moments from the final day of the 24/25 season
CHAMPIONSHIP (Sam Parry)
⤵️ The Drop — For all the wild permutations in the Championship relegation zone, one thing was true: every team had it in their hands, every team could run their own race, and yet, one of five had to fall.
Luton looked to have the stomach for final day when equalising on 9 minutes against West Brom. Alas, the final twist of Luton’s downward spiral really began, not in the Midlands, but on the South Coast, when Hull went ahead against Portsmouth to lift themselves out of the drop zone. The Hatters found themselves in need of a result, but what followed was a bloodbath. Daryl Dike made it WBA 2-1 Luton on his first league start in two years. Tom Fellows found his scoring boots with a double. Callum Styles nabbed a brace of his own. With 60 minutes on the clock, Luton weren’t simply 5-1 down, but down down. Relegated. Season over. Portsmouth equalised against Hull, and a Pompey winner would’ve relegated the Tigers instead… but it never came.
It was a sad end to a shocking season for Luton, who signed off a double relegation with what was, in the end, a 5-3 defeat. Elsewhere, there was huge relief as Stoke 0-0 Derby wound up as a mutually beneficial match that happened, while Preston’s sleepwalk ended at a brisk pace. They ensured survival with two goals either side of half-time away at Bristol City, and squandering that lead to draw 2-2 was never going to hurt them given the Luton scoreline.
🔣 Five into two — The teams who started the day inside the play-offs finished there. Had any of the chasing pack won their final game – any of them! – they would’ve made it over the dotted line. Fine margins, eh?
Josh Brownhill’s brace for Burnley snuffed out Millwall’s play-off hopes in the second half. His 18-goal tally is two more than the Clarets have conceded all season. But, but but… It could have swung the other way. Alex Neil’s side took the lead away from home, putting themselves in 5th – if only for a minute or so. They conceded a poor equaliser, before Josh Coburn spurned an open net that would’ve put them 2-1 up. They took the game to Burnley at 1-1, but left gaps. Big gaps. Gaps that Burnley exploited to complete a hundred-point season.
Blackburn took risks in their 1-1 draw against a much-changed Blades XI. They also took the lead in the second half, after a slick move on the break. Sheffield United put their foot on the gas, equalising soon after, then squandered opportunities to seal it. All of that, coupled with Bristol City’s draw, meant the final place was up for grabs in that tantalising play-off for the play-offs: Coventry v Middlesbrough…
Coventry took it. They’d had the better of a tight contest at 0-0 and went ahead on the cusp of half-time, Jack Rudoni ghosting in to meet the ball with a sharp header. Boro came relatively close, forcing good saves from Ben Wilson and threatening to create clear-cut chances, but without quite mustering a golden opportunity. That left the door open for Rudoni, once again, to take the plaudits and the main character energy into the play-offs, as his goal on 88’ sealed it.
Frank Lampard will be quietly (or perhaps loudly) delighted. By dint of finishing 5th, Cov will now play two legs against a Sunderland side who surely have the worst form ever seen heading into the Championship play-offs.
🥇 The 100 Club — Plymouth Argyle 1-2 Leeds, Burnley 2-1 Millwall — The Championship trophy jumped around on a final day where both contenders staged comeback wins. On 90 minutes, Burnley were 2-1 up whilst Leeds were level at Home Park. It looked set. But football, and Leeds, saved its drama for the dying moments. Manor Solomon went solo, beat his man, and squeezed a shot beyond the keeper. History made. Hangovers guaranteed. A century of points. A litany of pints. Farewell to one of the strongest Championship sides we’ve seen.
LEAGUE ONE (Sam Parry)
❌ Royals Rumbled… and relieved — Reading 2-4 Barnsley — All was wrapped up in League One, except the fight for 6th. Which ended without much of a fight. Still, there were real ‘losing the battle but winning the war’ vibes knocking about for the Royals. On the day the club announced a sale in principle to Rob Couhig, there was to be no grand finale, but fans got the catharsis they needed and deserved: a shared moment to tell Dai Yongge exactly where to go.
🚅 Orient express themselves — Huddersfield 1-4 Leyton Orient — When a former player gifts you a goal inside 2 minutes, you receive it politely. Dan Agyei did, and he had Josh Koroma’s horrific backpass to thank. Richie Wellens’ O’s were 3-0 up before the half-hour mark against a Huddersfield side lacking motivation, confidence and, seemingly, a plan. Koroma atoned with a goal that never mattered. Orient scored again near the end to finish the season proper with six wins from six, and in 6th place.
League Two (Matt Watts)
1️⃣ Donny have done it — Doncaster Rovers beat Notts County 2-1 to clinch their first title since 2012/13. A brace inside the first half-hour from Rob Street set Rovers on course for their fourth win on the bounce, before Alassana Jatta pulled one back late on. In a title race plagued by inconsistency, Grant McCann’s side won nine and lost one of their final 15 games. Donny finished up four points clear of Port Vale, who lost 1-0 to a stunning goal from Gareth Ainsworth’s Gillingham.
🫣 Last gasp for League Two automatics — Bradford 1-0 Fleetwood, Crewe 0-1 Walsall — “I knew that it was going to be weird, strange or difficult.” Graham Alexander could have been talking about the entire League Two promotion race.
He was, in fact, referring to Antoni Sarcevic’s rather fortuitous 96th-minute winner that saw Bradford City clinch promotion after six years in the fourth tier. Valley Parade erupted and the fans flooded onto the pitch, which led to the final seconds taking minutes to pass. The Bantams’ joy came at the expense of Walsall, who had thought their first win in 14 games was enough to earn them 3rd place. George Hall’s second-half strike gave the Saddlers a 1-0 win at Crewe and they were over the line in the dying embers… until they weren’t. Instead, the side who were 12 points clear of 2nd and 15 points clear of 4th in mid-January will have to make do with place in the play-offs.
⛪ Spireites clinch it — Despite being 9th at the start of play, Chesterfield snatched the final play-off spot, as Will Grigg’s third goal in three games was enough to give the Spireites a 1-0 win at Accrington. Salford, who were 7th at the start of play, could only draw 2-2 with Carlisle, while Grimsby lost 1-0 at home to AFC Wimbledon. The door was open, and Chesterfield walked through it - only just, though.
The home side hit the woodwork twice in the closing stages, but Paul Cook’s men held on to secure their eighth win in their last 13 games. It’s a remarkable turnaround for Chesterfield, who had slipped to 16th and 13 points off the top seven following four consecutive defeats in February and March.
📊 Cheat Sheet
From the WhatsApp group to the watercooler: stats to keep you ahead of the game.
👨💻 Binary Babes — Burnley are the first team in English league history (top four tiers) to go an entire season without conceding more than one goal in any league match.
🕴️ PP Gs — Birmingham City finished their League One campaign with 111 points, averaging 2.41 points per game — the highest for any Football League side outside the top flight since Doncaster Rovers in Division 3 North back in 1946–47 (2.5 ppg, converted to 3 points for a win).
💯 Ever Present — Six outfield players have played every single minute of the league season for their clubs: Dominic Hyam (Blackburn), Zak Vyner (Bristol City), Jason Knight (Bristol City), James Wilson (Bristol Rovers), Sean Roughan (Lincoln), and Lewis Wing (Reading).
🏅 Golden Cheek — Michael Cheek (Bromley) became just the second player to score 25 league goals across England’s top four tiers this season, following Mohamed Salah (28).
👑 Comeback Kings — Stockport have now conceded first in five straight games. Their results? WDWWW. That run has lifted them up to 3rd place.
⛽ Gassed — Iñigo Calderón was sacked by Bristol Rovers yesterday, with Gas having picked up the lowest points tally (21) in League One since his appointment on Boxing Day 2024.
⚽ Back-to-back — Luton Town have become just the fourth club to drop from the Premier League to the third tier in back-to-back seasons, joining Swindon Town (1993–95), Wolves (2011–13), and Sunderland (2016–18).
🔂 James More-i-sson? — West Brom netted five goals in their 5–3 win over Luton — more than they had managed across their previous seven league matches combined (4). Do they want a bit more of that?
⚽ Canary in the goal mine — In what’s been a pretty wild season, Norwich have scored 4+ goals in a league game seven times this term — more than any other Championship side.
🎦 5ivelights
In no particular order, a collection of our favourite goals or clips from across the 72.
Manor from Devon — The goal wot won it for Leeds United, Manor Solomon scoring their 95th goal of the season in the 90th minute to take the title.
Bradford’s promotion-sealing goal sparks joyous scenes, and then the rather more mundane ceremony of lifting a disposable dinner plate in celebration.
A red card for Richie Wellens left the Leyton Orient manager in the stands for their final game of the season, meaning assistant Paul Terry was in the dugout. Incredibly, Paul Terry joined the gaffer in the stands after stopping a throw-in and seeing red.
Rowe-ll it back — Aaron Rowe spoiled the Port Vale party with a twist, a turn and an absolute fizzer.
And for a final 5ivelight of the season, let’s have it for some good old-fashioned tug-on-heart-strings stuff: the (joyful) tears of a child.
🏆 Fantasy Football
Go head-to-head against team NTT20 in our EFL Fantasy Football league
Team NTT20 didn’t quite make the top 100, losing out on final day. We live. We learn. We go again. And we have lots to learn from the inaugural champ, Mr Browne’s Boys, who have led from the front since early in the season. Well done J. Holton. There is no cash prize, but money can’t buy the amount of caps being doffed your way. A title win in the Not The Top 20 league, and a third-place finish overall! 🫡
And, what’s that? A fantasy play-off competition? More about that this week - watch this space on the NTT20 Twitter/X page.