The Blades were unbeaten in 11 games to catapult them towards an unlikely play-off berth, but were stopped in their tracks by goals from James Henry and David Edwards.
Wolves' advantage at the top of League One remained at just a point though, as Brentford beat Coventry 3-1.
Wolves and Brenford are now best placed to go straight up after Leyton Orient could only draw 1-1 at Walsall.
Nathan Clarke ensure Orient at least got a point 12 minutes from the end after Paul Downing scored first.
Orient are now four points adrift of the top two and have played more games than both.
Kieran Agard's 45th-minute penalty was enough for Rotherham to beat Peterborough and move up to fourth, ahead of Preston who lost 1-0 at Swindon. Michael Smith's 56th-minute penalty secured the points for Robins.
Last-placed Notts County gave their survival bid a much-needed boost as they thrashed fellow strugglers Carlisle 4-1.
Haydn Hollis scored either side of a Ronan Murray goal to send the Magpies 3-0 up. James Berrett replied for Carlisle, but Gary Liddle capped a impressive home display.
Shrewsbury also claimed a key win at the bottom after late goals from Jon Taylor and Shaun Miller lifted them to a 2-1 win over Bradford.
Andrew Davies' 79th-minute strike had sent Shrewsbury behind only for a rally that leaves them two points from safety.
The survival bids of Tranmere and Stevenage were hit by 3-2 defeats to Port Vale and MK Dons respectively.
Tom Pope, Billy Knott and Ben Williamson gave Vale a 3-0 lead, which was made precarious when Tranmere responded with two goals in three minutes. Ash Taylor and Jason Koumas scored them, but in the half-hour that remained an equaliser was not forthcoming.
Stevenage had led 2-0 with 10 minutes to go thanks to a Dean Parrett goal and Lucas Akins' penalty but Jordan Spence and Ben Reeves levelled things up before Dean Lewington completed the turnaround in stoppage time.
Danny Philliskirk netted on 18 minutes as Oldham beat Crawley 1-0, while Chuks Aneke struck twice in Crewe's 3-1 win at Gillingham.
Amine Linganzi had cancelled out Aneke's initial goal, but Crewe took the points as Mathias Pogba scored a third before Anthony Grant saw red.
Gavin Massey and Freddie Sears scored in the final 20 minutes as Colchester snatched a 2-2 draw at home to Bristol City. The visitors had led through Martin Paterson and Scott Wagstaff.
- Sports & Recreation
- Leyton Orient
- Marcello Trotta
- Clayton Donaldson