Cardiff's eight-match unbeaten run came to and end when the high-flying Hatters sent them crashing to defeat.
The Bluebirds opened the scoring with Michael Ricketts' third of the season, but Luton deservedly levelled through Dean Morgan and secured the points with a second-half strike from Peter Holmes.
Both sides showed one change from their midweek victories with Neil Ardley coming in for the suspended Jeff Whitley, while Holmes started for Steve Robinson in the Town line-up.
City went ahead in the 9th minute with a superbly taken finish from Ricketts. He headed on a long ball out of defence to Cameron Jerome and when the ball ran loose Ricketts raced in to fire across the keeper and into the corner of the net.
The visitors hit back with a series of corners and Steve Howard and Warren Feeney both went close from accurate crosses supplied by the busy Ahmet Brkovic.
Luton kept up the pressure and on the half-hour another cross from Brkovic left Morgan in the clear. As the Cardiff defence looked for offside, he slammed the equaliser into the corner of the net.
The hesitancy in the home defence continued after the break and Morgan was given another sight of goal, but the ball was hacked clear.
The visitors took a deserved lead in the 57th minute when the overworked home defence failed to clear a Howard cross and Holmes bundled the loose ball in.
Darren Purse struck the Luton crossbar from a Jason Koumas corner as the Bluebirds went searching for an equaliser.
They were almost caught on the break as the Hatters tore upfield and after Howard sent a 30-yard drive against the home woodwork, Neil Alexander had to leap to save as Feeney hit the rebound goalwards.
There was still time for Ricketts to hit the post with a header but the visitors held on for victory.