George Moncur's first-half goal was followed by Freddie Sears's 77th-minute strike, but the Blades pulled two back through Ben Davies and Ryan Flynn on 83 and 85 minutes. The dramatic winner came after a Davies penalty just two minutes before the final whistle to complete the comeback.
Gillingham were also awarded a late penalty at home against Peterborough United to earn all three points, after Jon Taylor initially cancelled out Cody McDonald's opener. McDonald then ensured the win after converting an 86th-minute penalty for the home side.
There was also late drama in the match between Swindon Town and Oldham Athletic, as two late goals from either side saw the match end in a 2-2 draw. Jonathan Obika cancelled out James Dayton's 23rd-minute opener before Amari Morgan-Smith scored in the 84th minute to rescue a point for Oldham.
There was a six-goal thriller at Deepdale as two late goals from Chesterfield rescued a point thanks to an Eoin Doyle hat-trick. Alan Browne, Joe Garner and Josh Brownhill all netted for the home side in the first half.
Results in full:Colchester United 2-3 Sheffield United, Doncaster 0-0 Crawley Town, Gillingham 2-1 Peterborough United, MK Dons 1-2 Bradford City, Notts County 1-1 Leyton Orient, Port Vale 0-3 Bristol City, Preston North End 3-3 Chesterfield, Rochdale 4-0 Walsall, Scunthorpe United 2-1 Coventry City, Swindon Town 2-2 Oldham Athletic, Yeovil Town 1-1 Crewe Alexandra