Cardiff City's promotion hopes took a knock after Roy Keane's in-form Sunderland secured all three points.
The winner came in the second half from substitute Ross Wallace, who drove in a free-kick that deceived Neil Alexander at his near post.
The Bluebirds matched the visitors for long periods but rarely opened up their defence.
Cardiff welcomed back fit again Michael Chopra and Riccardo Scimeca, while new loan signing Warren Feeney was on the bench.
The strong wind made control difficult but the visitors adapted far better to the conditions and Danny Collins headed over the bar in one of a number of raids on the home goal.
In the 18th minute Stephen McPhail sent Peter Whittingham scurrying down the left but Steven Thompson headed his cross wide when well placed.
Two minutes later Joe Ledley was worked through but Darren Ward tipped his shot over the crossbar.
A swift break almost led to a Sunderland goal but Tobias Hysen failed to hit the target from a Grant Leadbitter cross.
Simon Walton replaced Scimeca for the start of the second half and it was now City's turn to take advantage of the conditions and they penned Sunderland into their own half for long periods.
Midway through the half a Sunderland corner spelt danger as Jonny Evans headed towards the top corner but Alexander leapt high to tip over.
Another snap-shot from Evans zipped over the bar as the Bluebirds failed to clear their lines.
The breakthrough for Sunderland came with a soft goal in the 72nd minute from a free-kick by substitute Wallace.
From fully 20 yards out he fired in a shot that Alexander could only push into the corner of the net.
Feeney was brought on in place of Paul Parry and then Jason Byrne replaced the tiring Chopra in a last throw of the dice by City boss Dave Jones, but Sunderland held firm to just about deserve victory.