Match ends, Leeds United 1, Cardiff City 2.
Cardiff City beat Leeds United but their goals were met by silence after Bluebirds fans boycotted the game.
The Welsh club were angry with their "derisory" 500-ticket allocation so sent all of the tickets back.
The game had little riding on it with both sides in mid-table and Sean Morrison opened the scoring for the visitors from close range.
Kalvin Phillips scored on his home debut for Leeds but Aron Gunnarsson got the winner after a scramble in the box.
Cardiff are now 12th, and Leeds 15th, with neither side being in either the promotion race or relegation-threatened places.
When defender Morrison forced the ball home, there was nobody to celebrate his strike aside from his Cardiff team-mates and coaching staff.
Phillips, 19, scored his first senior goal - on his second appearance - three minutes later when keeper David Marshall slipped as he came off his line and the young player sent Charlie Taylor's cross into an empty net.
It was met with the ironic chant of "you're not singing anymore" from the home fans.
Cardiff lost Conor McAleny to injury and replaced him with Eoin Doyle, who was twice denied by keeper Marco Silvestri.
But they got their winner when Silvestri parried an effort to Gunnarsson to score.
Leeds brought on strikers Billy Sharp and Steve Morison, who both had chances to equalise.
Sharp headed against the bar moments later and Morison headed into the crowd.
Leeds United boss Neil Redfearn:
"That was a poor performance. At half-time they needed a rocket from me and they got one. It is nothing personal, but it is important that they understand when I am not happy.
"The thing that was missing more than anything was a desire and the effort needed to get us back in the game. It was a strange performance from us because all the things we stood for during the run that got us out of trouble were missing today.
"They were two poor sides, to be honest, in a game that was strewn with bad decisions and mistakes. I was more unhappy with the senior players than anything. The kids give you effort and endeavour."
Cardiff manager Russell Slade:
"Our away form has been pleasing and if we can match that in our remaining home games it would be a good end to the season.
"It was unfortunate that we had no supporters at the game. That's a first for me - usually there are at least two men and a dog.
"I was disappointed for our fans because they would have witnessed a really strong, aggressive performance and a good three points."
- 5BellusciBooked at 54mins
- 12BerardiSubstituted forDoukaraat 86'minutes
- 40PhillipsSubstituted forMorisonat 65'minutes
- 27MowattBooked at 83mins
- 34AntenucciSubstituted forSharpat 64'minutes
- 2PeltierBooked at 36mins
- 5Ecuele Manga
- 36MorrisonBooked at 45mins
- 11NooneSubstituted forO'Keefeat 78'minutes
- 17GunnarssonBooked at 55mins
- 15McAlenySubstituted forDoyleat 33'minutes
- 24MasonSubstituted forK Harrisat 71'minutesBooked at 85mins
- 3da Silva
- 40K Harris
- Chris Kavanagh
- Shots on Target
Second Half ends, Leeds United 1, Cardiff City 2.
Alex Mowatt (Leeds United) wins a free kick in the defensive half.
Foul by Eoin Doyle (Cardiff City).
Corner, Cardiff City. Conceded by Giuseppe Bellusci.
Foul by Luke Murphy (Leeds United).
Stuart O'Keefe (Cardiff City) wins a free kick on the right wing.
Attempt missed. Stuart O'Keefe (Cardiff City) right footed shot from outside the box misses to the right. Assisted by Bruno Ecuele Manga.
Offside, Cardiff City. Lee Peltier tries a through ball, but Eoin Doyle is caught offside.
Substitution, Leeds United. Souleymane Doukara replaces Gaetano Berardi because of an injury.
Kadeem Harris (Cardiff City) is shown the yellow card for a bad foul.
Charlie Taylor (Leeds United) wins a free kick on the left wing.
Foul by Kadeem Harris (Cardiff City).
Attempt missed. Aron Gunnarsson (Cardiff City) right footed shot from the right side of the six yard box misses to the right. Assisted by Peter Whittingham with a cross following a set piece situation.
Alex Mowatt (Leeds United) is shown the yellow card for a bad foul.
Foul by Alex Mowatt (Leeds United).
Eoin Doyle (Cardiff City) wins a free kick on the right wing.
Corner, Leeds United. Conceded by Kadeem Harris.
Attempt saved. Gaetano Berardi (Leeds United) right footed shot from outside the box is saved in the bottom left corner. Assisted by Alex Mowatt.
Substitution, Cardiff City. Stuart O'Keefe replaces Craig Noone.