Tommy Conway's first half penalty and an inspired performance from Bristol City goalkeeper Max O'Leary saw Sunderland slip to their first defeat since Tony Mowbray's sacking. Interim boss Mike Dodds had overseen back-to-back home wins against play-off rivals West Bromwich Albion and automatic promotion hopefuls Leeds United, but the Black Cats came unstuck against a Robins side that had won just one of Liam Manning's six games in charge.
Sunderland are closing in on the appointment of former Glasgow Rangers boss Michael Beale as Mowbray's permanent successor and this may well prove to be Dodds' final game in charge. The only goal came midway through the first half when keeper Anthony Patterson brought down Taylor Gardner-Hickman and Conway converted from the spot.
Sunderland had two-thirds of the possession, won a dozen corners, hit the crossbar through Alex Pritchard, and created a series of chances - mostly from set-pieces - but they were unable to find the net. And O'Leary made fine saves from, amongst others, Luke O'Nien, substitute Jobe Bellingham, and Abdoullah Ba.
- READ MORE: Bristol City 1-0 Sunderland - Highlights and reaction as Black Cats slip to defeat at Ashton Gate
- READ MORE: Sunderland weighing up January loan options for Costa Rica winger Jewison Bennette
The hosts also created chances of their own - aided by some slack passing from Sunderland in the first half - with Anis Mehmeti hitting the post and Gardner-Hickman bringing a good save out of Patterson. Defeat meant Sunderland dropped out of the play-off places to seventh in the table while Bristol City moved up one place to 14th.
Dodds made two changes to the side that started the midweek win against Leeds, also switched back to a back four after using a back three against the Whites. Patrick Roberts and Pierre Ekwah came into the side, with Bellingham - who scored the winner against Leeds - and Dutch defender Jenson Seelt making way although both were included on the bench.
Manning also made a couple of changes, in his case to the side that lost at Blackburn Rovers on Tuesday, with Gardner-Hickman and Anis Mehmeti replacing Joe Williams and Sam Bell. Sunderland survived an early scare inside the opening ten minutes when a slack pass across the edge of their own penalty area almost let in Mark Sykes with Patterson out of position but Dan Ballard made a crucial challenge, although Sykes went down claiming a penalty but nothing was given.
The Black Cats immediately swept upfield and won a corner, and Pritchard's inswinging set-piece from the left was dropping in until O'Leary punched clear underneath his crossbar. A few minutes later, Trai Hume then shot straight at O'Leary from the edge of the box.
But Bristol made the breakthrough when they won a penalty on 20 minutes after Patterson came off his line and slid to try and claim the ball but Taylor-Hickman got a toe to the ball and the keeper's momentum meant he brought him down. Conway stepped up to send Patterson the wrong way from the spot, scoring in the right side of the net.
Sunderland had a big chance to equalise five minutes when Roberts glided past two defenders and got into the box, his low ball across the face of goal was slightly behind Jack Clarke at the far post and while he turned it goalwards it lacked power and Bristol were able to clear. Almost immediately, Bristol were inches away from doubling their lead when they broke upfield and Mehmeti got into the box but his shot came back off the base of the right-hand post.
Patterson then made an excellent diving save to deny Gardner-Hickman. Pritchard saw a free-kick from 25 yards out deflect off the wall, but O'Leary did well to readjust and save on his line.
Towards the end of the half, Sunderland stepped things up and Ba just could not reach Clarke's low ball across the face of goal when all it needed was a touch. And on the stroke of half-time, Clarke won a free-kick out on the left which Pritchard swung goalwards and the ball clipped the top of the crossbar on its way over.
Soon after the restart Ekwah hit a long-range shot which bounced awkwardly in front of the keeper and he spilled it, although he was relieved to see it go behind for a corner before anyone in a yellow shirt could follow it up. Ten minutes into the second half O'Leary made the first of two brilliant saves from set-piece attempts, when he somehow got down to his left to claw out a header from O'Nien when it looked like it was a goal all the way.
The second came midway through the half when another Pritchard corner found its mark, this time the head of Bellingham, and his goalbound header was turned around the post by the keeper. Sunderland pushed hard for an equaliser in the final stages with Ba bringing another good stop out of O'Leary, but they could not find the goal they needed.
How they lined up
Bristol City: O'Leary, Tanner, Vyner, Dickie, Pring, Sykes (Bell 81), James (Williams 69), Knight, Gardner-Hickman, Mehmeti (Weimann 69), Conway (Cornick 76). Subs not used: Bajic, Wells, Knight-Lebel, Yeboah
Booked: Conway, Dickie, Williams
Sunderland: Patterson, Huggins (Mayenda 88), O'Nien, Ballard, Hume, Neil, Ekwah (Dack 81), Roberts, Pritchard (Aouchiche 81), Clarke, Ba (Bellingham 63). Subs not used: Bishop, Burstow, Rusyn, Seelt, Triantis
Booked: Bellingham, Roberts, Ballard
Referee: Steve Martin (Staffordshire)
Attendance: 22,701