The Blades looked to have rescued a point at home to Hull City when two goals from Ched Evans cancelled out a brace from Jay Simpson.
That was until Jimmy Bullard, a second-half substitute for the Tigers, scored a winner three minutes into stoppage-time.
Bristol City were beaten 4-1 at Reading. They had led through Jonathan Stead's 15th minute strike but Jobi McAnuff levelled and Noel Hunt had Reading in front just before half-time.
Shane Long then grabbed a second-half brace to secure the points that keep Reading seventh, now only one point off the play-off places.
An Andre Bikey goal gave Burnley their first away win of the season, as they secured a 2-1 victory over Barnsley.
They looked set for more misery when Adam Hammill fired Barnsley ahead in the 25th minute with his eighth goal of the season.
On-loan Manchester City striker John Guidetti nodded in a cross from Wade Elliott to draw the Clarets level in the 49th minute and Bikey headed in a corner five minutes later to secure his side's first win at Oakwell for 79 years.
Portsmouth drew 1-1 with Millwall at Fratton Park. Liam Trotter, a former Iron loanee, had put the Lions ahead but David Nugent secured a point for Pompey.
Queens Park Rangers maintained their title push with a 4-0 home win over Swansea City.
Adel Taarabt scored twice for the leaders, with Jamie Mackie and Heidar Helguson also scoring.
The R's are four points ahead of Cardiff City, who reclaimed second place when they defeated Coventry 2-0. Seyi Olofinjana and Craig Bellamy scored for the Bluebirds.
Leeds United dropped to third after losing a two goal lead at Leicester City.
Max Gradel and Robert Snodgrass had the Yorkshire side 2-0 up, but Paul Gallacher pulled one back from the penalty spot and Andy King equalised.
Five games were postponed: Crystal Palace v Norwich City, Derby County v Doncaster Rovers, Ipswich Town v Watford, Middlesbrough v Nottingham Forest and Scunthorpe United v Preston North End.