Ipswich Town were the big winners on Easter Monday as the automatic promotion race took yet another twist.
The Tractor Boys edged past Birmingham City to climb into second place, leapfrogging both Middlesbrough and Millwall in the process.
With Boro held to a 2-2 draw by Swansea City and Millwall slipping to defeat against an in-form Norwich City, the door creaked open – and Ipswich marched straight through it.
At the summit, Coventry City continued their steady charge towards promotion, grinding out a goalless draw away at play-off hopefuls Hull City – another point ticked off, another hurdle cleared.
Elsewhere, all six sides in the bottom cluster cancelled each other out, with draws in the so-called six-pointers between West Bromwich Albion and Blackburn Rovers, Portsmouth and Oxford United, and Sheffield Wednesday and Leicester City.
Here is a round-up of the key results from Monday’s action.
For exclusive stories and all the detailed EFL news you need, subscribe to The Football League Paper website, digital edition, or newspaper from as little as 14p a day.
Ipswich Town 2-1 Birmingham City
Ipswich came from behind to boost their hopes of an immediate return to the Premier League with a hard-fought 2-1 victory over Birmingham at Portman Road.
Kieran McKenna’s side, who still have games in hand on their promotion rivals, were made to work for it, surviving sustained second-half pressure to claim a vital three points.
The visitors struck first in the 32nd minute when Carlos Vicente fired low into the bottom corner, moments after Kasey McAteer had passed up a golden chance at the other end, shooting straight at goalkeeper James Beadle when clean through.
But Ipswich hit back just before the break, levelling through Ben Johnson after he bundled home Darnell Furlong’s cross, before McAteer made amends four minutes later by firing under Beadle following slick build-up play involving Jack Clarke and George Hirst.
Birmingham pushed hard after the restart and thought they had equalised when Ibrahim Osman’s cross eventually found the net via Dara O’Shea, only for the effort to be ruled out was adjudged to have gone out of play in the build-up.

(PA)
Swansea City 2-2 Middlesbrough
Middlesbrough were forced to settle for a point as Tommy Conway’s second-half penalty secured a 2-2 draw away at Swansea in a dramatic encounter featuring three spot-kicks.
Boro, who would have climbed back into the automatic promotion places with victory, made the brighter start and went ahead in the 12th minute through Alex Bangura, who surged forward before smashing home his first goal in nearly two years.
Swansea hit back midway through the half when Zan Vipotnik converted from the spot after Bangura brought down Liam Cullen, and the striker struck again in first-half stoppage time with a second penalty after Sol Brynn fouled Jisung Eom.
The hosts looked comfortable early in the second half, but Boro regrouped and began to apply pressure, with Lawrence Vigouroux producing a fine save to deny Aidan Morris from distance.
The equaliser arrived in the 75th minute when Conway calmly converted a third penalty of the night, and although both sides pushed for a winner, Boro held on for a point that still keeps them firmly in the promotion hunt.

(David Davies/PA)
Millwall 1-2 Norwich City
Oscar Schwartau climbed off the bench to fire Norwich to a 2-1 win over Millwall – and hand rivals Ipswich a timely boost in the race for automatic promotion.
Millwall, who began the day in second, took the lead early in the second half when substitute Mihailo Ivanovic headed home from close range after good work down the flank by Casper de Norre.
But Norwich responded swiftly, drawing level through Pelle Mattsson, who rifled a stunning first-time effort into the top corner from 20 yards to swing the momentum.
The visitors had been the brighter side before the break, creating the better chances through Jack Stacey and Kenny McLean, but were unable to make the breakthrough.
And late on, when a swift counter-attack saw Mohamed Toure pick out fellow substitute Schwartau for a simple finish, they sealed the three points to keep their play-off hopes alive.

(Adam Davy/PA)
Portsmouth 2-2 Oxford United
Andre Dozzell struck late to rescue a point for 10-man Portsmouth in a dramatic 2-2 draw with Oxford in a high-stakes relegation clash.
Pompey made a flying start and led inside nine minutes when Keshi Anderson showed neat footwork before firing home, but their task was made significantly harder soon after when Connor Ogilvie was shown a straight red card for a challenge on Stan Mills.
Oxford struggled to make their numerical advantage count before the break, but found a way back early in the second half when Brodie Spencer bundled home after goalkeeper Nicolas Schmid spilt Mills’ effort, marking his first goal for the club.
The visitors looked to have completed the turnaround in the 81st minute as Will Lankshear nodded in a fine cross to put Oxford ahead and on course for a crucial victory.
However, Portsmouth had the final say, with Dozzell guiding home from close range three minutes from time to earn a valuable point that keeps them just above the drop zone.
Elsewhere…
Bristol City kept their slim play-off hopes alive with a hard-fought 1-0 win over an out-of-form Sheffield United side, while Derby County boosted their own ambitions with a solid 2-0 victory against Stoke City.
Hull and Coventry played out a goalless draw, a result that edges the visitors closer to promotion while keeping the hosts in the play-off hunt.
Preston North End and Queens Park Rangers shared the spoils in a 1-1 draw, as did Watford and Charlton Athletic in another evenly matched contest.
At the bottom end, Sheff Wed and Leicester played out a 1-1 draw that did little to ease the Foxes’ relegation worries.
And Blackburn and West Brom also cancelled each other out in a goalless stalemate, with neither side able to find a breakthrough.
Full results (Easter Monday)
Bristol City 1-0 Sheffield United
Derby County 2-0 Stoke City
Hull City 0-0 Coventry City
Ipswich Town 2-1 Birmingham City
Millwall 1-2 Norwich City
Portsmouth 2-2 Oxford United
Preston North End 1-1 Queens Park Rangers
Swansea City 2-2 Middlesbrough
Watford 1-1 Charlton Athletic
West Bromwich Albion 0-0 Blackburn Rovers
Sheffield Wednesday 1-1 Leicester City
READ MORE: Southampton 2-1 Arsenal: Last-gasp Shea Charles winner stuns The Gunners!



