Harry Maguire cancelled out an opening goal from Kean Bryan, but a deflected strike from substitute Oliver Burke secured just a second league win of the season for the Blades.
Ole Gunnar Solskjaer's men needed to win to overtake Manchester City at the top but delivered a lifeless performance as they saw a 13-match unbeaten run in the top flight come to an end.
They managed only four shots on target despite having nearly 75 per cent of the possession as they failed to beat Sheffield United at home in a league game for the first time since August 1975.
Marcus Rashford, passed fit after a knee problem, pulled a shot wide from a good Aaron Wan-Bissaka cut-back as the home side controlled the early play.
But it found itself behind from the first corner of the match, Bryan glancing the ball in off the post after beating David de Gea to John Fleck's delivery.
De Gea felt he had been pushed by Billy Sharp and home frustrations grew when Anthony Martial scored after Aaron Ramsdale dropped the ball, only for the goal to be disallowed harshly for a foul by Maguire.
Mason Greenwood scuffed a good chance wide from a Bruno Fernandes throughball, but it was another set-piece through which the scores were levelled, Maguire running onto Alex Telles' corner to head in the equaliser.
Edinson Cavani was introduced off the bench but it was Burke who proved the match-winner, his shot skidding off Axel Tuanzebe's knee and in off the crossbar after the home side had failed to clear.