Match ends, Bristol City 1, Sheffield United 3.
Sheffield United came from behind as they dealt Bristol City just a second home loss of the League One season.
A lacklustre first half sparked into life when Matt Smith converted Luke Freeman's cross from four yards out to give City the lead on 41 minutes.
Matt Done levelled, bundling home a rebound after Jason Holt's shot was saved, before finishing Jamie Murphy's cross for his third goal in two games.
Murphy sealed the win by completing a Blades counter-attack on 82 minutes.
Swindon's loss at Scunthorpe and MK Dons' defeat at Gillingham means Steve Cotterill's side remain four points clear at the top, despite being beaten at Ashton Gate in the league for the first time since November.
United move up to fifth position after registering their first back-to-back League One victories since October.
Bristol City manager Steve Cotterill told BBC Radio Bristol:
"It wouldn't matter even if they did match our formation - we've played against formations the same as ours.
"I think that we got done in the second half, it's funny because we went in 1-0 up at half-time and I don't think we were the better team in the first half.
"I thought we were the better team in the second half and ended up getting done on two counter-attacks."
Sheffield United coach Chris Morgan told BBC Radio Sheffield:
"It's a fantastic result. To come to Bristol City, who are top of the league, we knew it would be tough.
"So for us to come away from home, score three goals and get three points is testament to the lads.
"We had words at half-time. To come in 1-0 down we thought it wasn't on.
"Credit to the boys, they had a real good go second half and they played like we know they can play."
- 22AylingBooked at 55mins
- 4FlintBooked at 82mins
- 2LittleBooked at 74minsSubstituted forWagstaffat 80'minutesBooked at 90mins
- 8ElliottSubstituted forAgardat 71'minutes
- 23BryanSubstituted forCunninghamat 77'minutes
- 6BashamBooked at 34mins
- 18CouttsBooked at 26mins
- 8DoyleBooked at 57mins
- 11BaxterSubstituted forHoltat 24'minutesSubstituted forFreemanat 90+3'minutes
- 14DoneSubstituted forAdamsat 83'minutes
- Graham Salisbury
- Shots on Target
Second Half ends, Bristol City 1, Sheffield United 3.
Scott Wagstaff (Bristol City) is shown the yellow card.
Foul by Scott Wagstaff (Bristol City).
Che Adams (Sheffield United) wins a free kick in the defensive half.
Corner, Bristol City. Conceded by Terry Kennedy.
Corner, Bristol City. Conceded by Kieron Freeman.
Substitution, Sheffield United. Kieron Freeman replaces Jason Holt.
Luke Ayling (Bristol City) wins a free kick in the attacking half.
Foul by Che Adams (Sheffield United).
Attempt blocked. Luke Freeman (Bristol City) right footed shot from the centre of the box is blocked.
Foul by Matt Smith (Bristol City).
Terry Kennedy (Sheffield United) wins a free kick in the attacking half.
Corner, Bristol City. Conceded by Michael Doyle.
Substitution, Sheffield United. Che Adams replaces Matt Done.
Goal! Bristol City 1, Sheffield United 3. Jamie Murphy (Sheffield United) right footed shot from the centre of the box to the top left corner.
Substitution, Bristol City. Scott Wagstaff replaces Mark Little.
Attempt blocked. Korey Smith (Bristol City) right footed shot from outside the box is blocked.
Substitution, Bristol City. Greg Cunningham replaces Joe Bryan.
Goal! Bristol City 1, Sheffield United 2. Matt Done (Sheffield United) right footed shot from very close range to the centre of the goal. Assisted by Jamie Murphy with a cross.