Cardiff City moved four points clear of the Championship relegation zone as Mark Harris' goal gave them a 1-0 win at the Stadium of Light.
Cardiff might have led at the break but Joe Ralls' penalty was saved by Anthony Patterson, with the Bluebirds missing a succession of first-half opportunities.
Sunderland improved after Cardiff's goal but never really looked like forcing an equaliser.
The victory lifts Cardiff up to 14th in the Championship, with Sunderland 13th.
Cardiff's victory meant they have won three consecutive league matches against Sunderland for the first time since December 1959, with the success merited after a good performance, especially before the interval.
The defeat meant a second successive home defeat for Sunderland manager Tony Mowbray, made four changes to the side that beat bottom-placed Huddersfield 2-0 in midweek.
Abdoullah Ba was handed a first Black Cats start, while Everton loanee Ellis Simms was also recalled alongside Dan Neil and Jack Clarke.
Cardiff City interim boss Mark Hudson - who this week indicated he expects to be named the Bluebirds' permanent boss - made one change to the side beaten 2-1 by Watford on Wednesday, with Sheyi Ojo replacing Andy Rinomhota.
The Welsh side are the lowest scorers in the Championship this term, a statistic underlined by their failure to take advantage of a gift-wrapped opportunity to take the lead when they saw a 12th-minute penalty saved.
Sunderland were the architects of their own downfall when Bailey Wright's poor pass played Danny Batth into trouble as he hauled Ojo to the ground, but Anthony Patterson saved Ralls' spot kick.
Ojo might have already put the Bluebirds ahead by then, but he missed the target after Harris sent him clear on four minutes, seconds after Clarke's effort at the other end was blocked.
Amad Diallo found some space to pick his spot with a shot on 15 minutes, but Perry Ng produced a superb block to deny the forward.
It was the Bluebirds who were applying most of the pressure but Harris' failure to make contact with Cedric Kipre's teasing cross summed up their first-half display; close, but lacking when it came to converting chances.
However, the visitors' fortunes turned on 49 minutes when Mahlon Romeo's attempted shot fell kindly for Harris, who finished coolly with Sunderland's defenders appealing in vain for an offside flag that never arrived.
Substitute Alex Pritchard saw his free-kick hit the side-netting as the hosts looked for a response, before Diallo's powerful effort flew over the crossbar.
The Black Cats were dominant after falling behind, but Simms' glancing header flew just over, before Kipre's fantastic last-ditch tackle denied Diallo.
Sunderland: Patterson, O'Nien, Wright, Batth, Cirkin, Neil (Pritchard 57'), Ba (Evans 57'), Roberts (Bennette 67'), Diallo, Clarke, Simms (Embleton 73'). Subs not used: Evans, Bass, Matete, Hume.
Cardiff City: Allsop, Romeo, Ng, Kipre, Nkounkou, Wintle, Ralls, Philogene, (Sawyers 58'), Ojo (Nelson 73'), O'Dowda (Rinomhota 73'), Harris (Watters 58', Whyte 90+3'). Subs not used: Alnwick, Sang.