Sam Dalby’s introduction from the bench in the 62nd minute pivoted the League One play-off final, as Bolton beat Stockport County 4-1 at Wembley to secure promotion to the Championship for the first time since 2019. The scoreline read more decisively than the equaliser-era game state had implied, but Bolton’s underlying superiority was unambiguous: 2.46 expected goals to Stockport’s 0.89, 18 shots to 7, possession 58-42. The third-minute opener set the tone but owed much to a goalkeeping error. Thierry Gale’s speculative shot from range was palmed weakly into danger by Corey Addai; Mason Burstow pounced, Ethan Pye blocked, but Rúben Rodrigues followed up to finish from the rebound. It was the first of two goals Addai would have wanted back and the first of two for Rodrigues. Steven Schumacher’s decision to send Dalby on for Xavier Simons turned a 1-1 contest into a closing thirty minutes that Stockport could not contain. Dalby created the second goal and scored the third inside twenty minutes of arriving on the pitch. The xG split had told the story; the substitution let it cash in.
How it unfolded
Bolton started fast and scored inside three minutes. Gale’s effort from outside the box was parried by Addai into a crowded penalty area; Burstow’s follow-up was blocked by Pye, but Rodrigues swept in the loose ball. Stockport thought they had equalised in the 11th minute when Adama Sidibeh ran through onto a ball over the top, but VAR ruled the goal out for a foul on George Johnston in the build-up. The equaliser came legitimately in the 30th minute: Odin Bailey delivered a precise cross from the right, and Sidibeh, completely unmarked at the back post, flicked a header into the far corner. Half-time arrived with Bolton edging xG 0.63-0.31 and shots 6-5 — Bolton on top in the underlying numbers despite the parity on the scoreboard. The decisive moment arrived in the 62nd minute when Schumacher replaced Simons with Dalby. Within two minutes Dalby’s clever flick round the corner found Amario Cozier-Duberry, whose shot was touched by Addai but ricocheted off Kyle Wootton and in — officially an own goal. In the 81st minute, from a Bolton free-kick, Johnston headed the first contact, John McAtee headed it goalwards, and Dalby held off Pye to flick past Addai. Stockport’s hopes ended in stoppage time: a VAR review spotted Josh Dacres-Cogley pulling Ibrahim Cissoko’s hair in the box, producing a straight red card and a penalty, which Rodrigues converted for his second of the final.
Key moments
Sam Dalby’s nineteen-minute cameo defined the final. Introduced for Xavier Simons in the 62nd minute, he created the second goal with a clever flick round the corner and scored the third with a composed close-range finish under pressure from Pye. Corey Addai’s errors were costly. His weak parry from Gale’s range effort gifted the opener; his stretched touch on Cozier-Duberry’s shot took just enough off it to send the ball into Wootton rather than the netting. Kyle Wootton himself endured a miserable afternoon. Stockport’s 20-goal top scorer was booked in the 61st minute for a late challenge on Rodrigues and then saw the deflected second Bolton goal ricochet in off him three minutes later — Addai’s stretched touch sent the ball into Wootton rather than past him. VAR intervened three times across the afternoon: disallowing Stockport’s 11th-minute equaliser for the foul on Johnston, awarding both the red card and the penalty for the Dacres-Cogley hair-pull on Cissoko in stoppage time. The xG split — 2.46 to 0.89 — gave Bolton the better-process verdict; the four-goal margin gave them the scoreline to match.
The model versus the result
Three pre-match models offered three different framings. The LR-calibrated 1X2 model gave Bolton a 46.1% win probability, placing them just over the 45% clear-favourite threshold with a 10.4 percentage-point gap to Stockport (35.7%). The Poisson-with-Dixon-Coles goals model favoured Bolton at 44.3% (lambdas 1.56 vs 1.26), implying a one-or-two-goal-each affair as the most likely shape. The venue-symmetric correction, mandatory on neutral-venue fixtures and applied to the published preview, averaged home/away probabilities and gave Bolton 41.3% / draw 19.1% / Stockport 39.6% — a 1.7pp gap that called the match tightly split with no clear result-level favourite. The published preview’s conditional-modal scoreline was Bolton 1-0. The actual 4-1 result emphatically backed the LR-cal and Poisson direction; the venue-symmetric framing was the one that did not survive contact with the match. The goals total also overshot the Poisson lambda compression: Bolton scored four on an expected 1.56, with a match-day xG of 2.46 that supports four goals far more comfortably than the pre-match prior did. None of this condemns the venue-symmetric methodology — sample sizes for neutral-venue Championship and L1 play-off finals are tiny, and a single emphatic result is one data point. But it goes in the file for the next review.
Promotion outlook
Bolton are back in the second tier after a seven-year absence, having last played Championship football in 2018-19 before relegation that summer. Promotion completes a quietly remarkable first season under Steven Schumacher. The squad has depth in attack — Dalby and Burstow offering different profiles, Cozier-Duberry’s 19 G/A from out wide, Rodrigues providing creativity and goals from midfield. The defence will need work for the second tier, especially with captain Eoin Toal missing the final injured and Max Conway pulled off with cramp at 76 minutes. Schumacher’s substitution call to bring Dalby on for Simons at 62′ was as match-winning a single decision as a manager makes in a play-off final, and that touch will travel up a division. For Stockport, this was the close of a four-year run that has taken them from the National League to a one-match-from-the-Championship final — two divisions in four years under Dave Challinor. They fell short here, but the squad retains real quality: Wootton’s 20+ league goals, Norwood’s playmaking, Bailey and Diamond on the wings. Their immediate task is retaining personnel through the summer and building on this season’s momentum. Both trajectories are clear; Bolton’s just runs a tier higher next August.
