Craig Bellamy, so often a scourge of Leeds in his Newcastle days, opened the scoring for Dave Jones’ outfit in the 10th minute and, after Robert Snodgrass had curled home a wonderful 59th-minute equaliser, Michael Chopra’s opportunist strike won it for Cardiff with 11 minutes remaining.
It was the home side who struck first with Bellamy taking advantage of some slack Leeds defending to net his fifth goal of the season.
Cardiff created chances after the restart with Chris Burke heading over after Bellamy had bedazzled the Leeds defence again, with Grayson then losing patience with the misfiring Ross McCormack and Max Gradel.
Substitute Sanchez Watt rolled a pass to fellow replacement Lloyd Sam who skipped inside two challenges and slammed a shot against Tom Heaton and, from the loose ball, Snodgrass curled an unstoppable effort beyond Heaton for his fourth of the season.
Sam was withdrawn with a thigh injury just six minutes after his introduction and Parker warmed Heaton’s hands with a low drive as Cardiff became the side under the cosh.
That situation soon changed, though, as Whittingham lumped a long ball forward which Chopra ran onto before prodding beyond Schmeichel who had rushed off his line to narrow the angle.
Bradley Johnson forced Heaton to tip his 30-yard drive around the post but Leeds could not fashion an equaliser.
CARDIFF: Heaton, McNaughton, Hudson, Quinn (Blake 74), Naylor, Burke (McPhail 78), Whittingham, Olofinjana, Bellamy, Chopra, Keogh.
LEEDS: Schmeichel, Connolly, Collins, O’Brien, Parker, Gradel (Sam 57), Howson, Johnson, Snodgrass, Paynter, McCormack (Watt 57), Sam (Becchio 63).
Referee: Andy D’Urso (Essex).