Doncaster Rovers 3-3 Hull City
James Coppinger scored at the death to earn Doncaster Rovers a point against Hull City at the Keepmoat Stadium.
A brace from Tigers top scorer Mallik Wilks saw Rovers go 2-0 behind after 24 minutes.
Reece James pulled one back with a cracking strike into the bottom right corner, but Jacob Greaves headed in from George Honeyman's corner to restore Hull's two-goal cushion before half-time.
An Omar Bogle penalty after Wilks fouled Josh Sims inside the box saw Doncaster reduce the deficit again.
The visitors faced a minimum of seven minutes stoppage-time and had to finish with 10 men after an injury to Honeyman.
Coppinger is retiring at the end of the season, and Rovers wore a charity kit he designed to commemorate his 17 seasons with the club.
The 40-year-old marked the occasion in style with a stunning free-kick past Matt Ingram in the 12th minute of added time.
MK Dons 4-3 Northampton Town
Northampton Town missed the chance to climb out of the relegation zone after letting a two-goal lead slip against MK Dons.
The Cobblers went ahead early on through Fraser Horsfall, but goals from Andrew Surman and Will Grigg gave the Dons a 2-1 lead at the break.
Ryan Watson equalised for Northampton against his former team after the restart, and they were back ahead with 12 minutes remaining through Peter Kioso.
However, late strikes from Cameron Jerome and Charlie Brown saw the hosts turn the game around and claim all three points.
Burton Albion 0-3 Sunderland
Sunderland climbed into the play-off places with a resounding win against Burton Albion at the Pirelli Stadium.
Grant Leadbitter put them ahead after six minutes with a well-placed finish into the bottom left corner, before Lynden Gooch's effort went in off the crossbar to make it 2-0.
The task became more difficult for the Brewers in the second half when Preston loanee Josh Earl was dismissed following a scuffle with Aiden O'Brien.
Charlie Wyke continued his excellent form for the Black Cats with a smart finish to put the result beyond doubt.
Peterborough United 3-0 AFC Wimbledon
AFC Wimbledon dropped into the bottom three after being thrashed by promotion-chasing Peterborough United.
After both sides failed to break the deadlock in the first half, Sammie Szmodics scored a quickfire brace to put Posh in the ascendancy.
Jonson Clarke-Harris netted his 18th of the season and Peterborough's third of the afternoon late on, as Darren Ferguson's men go above Hull into second-place.
Wigan Athletic 1-2 Lincoln City
Lincoln City stayed top of League One after coming from behind to beat relegation-threatened Wigan Athletic at the DW Stadium.
The Latics got the opener 33 minutes in with a wonderful strike into the top right corner from Callum Lang.
Anthony Scully levelled for the Imps a minute later, and they completed the comeback in the second half when Jorge Grant played a perfect pass to Tom Hopper, who cut inside before curling the ball beautifully past Jamie Jones.
Swindon Town 2-1 Crewe Alexandra
Swindon Town moved out of the bottom three after fighting back to beat Crewe Alexandra at the County Ground.
The visitors took the lead after five minutes through Tom Lowery, but an own goal from Travis Johnson meant their advantage was short-lived.
Crewe were wasteful in front of goal and were punished in the 94th minute when Scott Twine won it for the Robins.
Accrington Stanley 1-1 Shrewsbury Town
Accrington Stanley are down to seventh place after failing to see out a one-goal lead against Shrewsbury Town.
Seamus Conneely put the hosts ahead after half-time with a brilliant volley from just inside the box.
The Shrews equalised with 13 minutes remaining when a corner was flicked on to former Stanley man Shaun Whalley, who finished smartly from close range.
Portsmouth 0-1 Blackpool
Blackpool made it four wins out of five after beating fifth-placed Portsmouth at Fratton Park.
Pompey were somehow denied going ahead in the first half when Marcus Harness and Rasmus Nicolaisen saw their efforts blocked.
Craig MacGillivray made two good saves to deny the Seasiders with 10 minutes remaining, but they won it soon after when Jerry Yates benefitted from an advantage and ran forward before firing home.
Gillingham 2-0 Bristol Rovers
A John Akinde double was enough for Gillingham to see off struggling Bristol Rovers in the day's early kick-off.
The visitors came close to leading in the first half, with Luke McCormick and Brandon Hanlan both hitting the woodwork.
Akinde got the opener in the 67th minute when he got in behind the Gas' defence and finished well past Joe Day.
He won and missed a penalty six minutes later, but got his second in stoppage-time to secure the win.
Fleetwood Town 1-1 Charlton Athletic
Charlton Athletic somehow left Highbury Stadium with a point despite Fleetwood Town having 22 attempts at goal.
Before the hosts' dominance began, it was Lee Bowyer's men who took the lead through a Jayden Stockley header.
Paddy Madden equalised before half-time after a nice one-two in the build-up between Mark Duffy and Kyle Vassell.
Vassell and Madden had chances to win it for Town in the second half, but it was ultimately a frustrating afternoon for Simon Grayson's side.
Ipswich Town 0-0 Oxford United
Ipswich Town were left to rue missed chances after a stalemate with Oxford United at Portman Road.
The closest they came to getting the opener was in the 53rd minute when James Norwood hit the post.
The U's could have won it themselves when Mark Sykes crossed for Matty Taylor, but the forward's free header missed the target.
Rochdale 0-0 Plymouth Argyle
Plymouth Argyle extended their unbeaten league run to nine games after a goalless draw with Rochdale.
The visitors almost went ahead early on through Panutche Camara, but he was denied by a brilliant save from Gavin Bazanu.
Aaron Morley tried his luck from distance with 20 minutes left as Dale went in search of a winner, but it was kept out by a stunning stop from Jake Cooper.
Plymouth will still be hopeful of a play-off place, while Rochdale's focus is on avoiding the drop.