Tommy Conway’s first half penalty and a string of fine saves from Max O’Leary saw Bristol City record a 1-0 Sky Bet Championship win over Sunderland.
The hosts made the decisive breakthrough in the 20th minute after Sunderland were caught playing out from the back. Taylor Gardner-Hickman was tripped by goalkeeper Anthony Patterson and Conway sent the goalkeeper the wrong way with a low spot-kick.
An inspired performance from O’Leary protected the lead and Sunderland will feel hugely frustrated not to have taken something from an impressive display at Ashton Gate.
The game began badly for Conway, who picked up a booking on 45 seconds for a late challenge on Luke O’Nien.
The hosts had a strong penalty appeal rejected in the seventh minute when Mark Sykes went down inside the box.
However, Sunderland looked in confident mood with Trai Hume and Patrick Roberts forcing early saves from O’Leary.
Conway’s penalty was City’s first shot on target, but it galvanised Liam Manning’s team and six minutes later Anis Mehmeti struck a post with a low drive from inside the box.
Patterson had to dive to keep out a Jason Knight shot from distance, but Sunderland gradually rediscovered their composure and saw efforts from Jack Clarke and Roberts fly wide of O’Leary’s goal.
Roberts should have done better with his left-footed curler but caused problems with his ability to take on and beat defenders.
Sunderland finished the half strongly, with Rob Dickie picking up a booking for halting a dangerous run from Hume and Alex Pritchard clipping the crossbar with a free-kick from out on the left wing.
The second half began with the visitors playing towards their 2,600 travelling fans. They forced a string of corners and O’Leary was not able to hold a low shot from Pierre Ekwah to concede the first of them.
It was all Sunderland as O’Leary produced a brilliant save on his line to keep out O’Nien’s header and another diving stop to deny Abdoullah Ba.
Gardner-Hickman had a shot saved by Patterson on a rare City break but they came under more pressure and O’Leary had to be alert again to keep out another O’Nien header.
A couple of Sunderland penalty appeals for handball were waved aside by referee Stephen Martin as City defended for their lives, then O’Leary made yet another stunning stop, diving full-length to keep out a header from substitute Jobe Bellingham.
City had a great chance to settle the outcome when substitute Harry Cornick broke clear, only for his control to let him down as he prepared to shoot.
Sunderland threw everything into the dying minutes but they dropped out of the top six as Manning’s men put bodies on the line in front of the unbeatable O’Leary to hold out.