Rotherham United took all three points at Kenilworth Road to edge Luton Town ever closer to relegation from the Football League.
The Millers raced into a 2-0 first-half lead through strikes from front pair Reuben Reid and Drewe Broughton after some awful Hatters defending.
Chris Martin pulled one back three minutes before the break only for Danny Harrison to restore the visitors' two-goal advantage eight minutes after the interval.
Asa Hall's 11th goal of the season in the 70th minute gave Luton hope of stealing something from the game but substitute Mark Hudson wrapped things up three minutes from time to leave Luton 11 points from safety with just six games to play.
Luton made a bright start but it was the visitors who took the lead in the 11th minute when Reid beat George Pilkington to a bouncing ball and, with the home players claiming a foul, the Rotherham striker dinked past Keith Keane before drilling home from 12 yards.
With the Hatters infuriated by the decision, the game took on a nasty edge with a rash of bookings before Kevin Gallen saw a 25-yard pile-driver deflected just past the post in the 21st minute.
Martin saw a flashing header well saved by Andy Warrington from the resulting corner but, for all Luton's pressure, the Millers were still a menace on the break.
In the 29th minute, a slip by Mark Bower allowed Broughton to play in Reid, who almost grabbed a second only to see his 20-yard drive fly just past the far post.
Luton kept pumping deep crosses into the box but Rotherham made it 2-0 in the 38th minute when the hosts failed to clear a throw-in from the right and Broughton, as he fell, managed to slide the ball past Dean Brill from a tight angle five yards out.
The Hatters stayed on the offensive and Martin reduced the deficit three minutes before the break when, after Hall's superb cross from the right, he found the net with a bullet header at the far post.
The momentum appeared to be back with the hosts but Rotherham deflated the home crowd seven minutes into the second half when more poor Hatters defending, this time from a Millers corner, saw Bower's clearing header fall straight to Harrison who nodded straight back into the net from 15 yards.
Luton rallied again and Craddock saw an 18-yard effort deflect just wide in the 67th minute before the hosts did find the net in the 70th minute when Hall's 25-yard daisy-cutter found the corner of the net after Lewis Emanuel's pass.
Rotherham almost restored their two-goal advantage within 60 seconds when full back Dale Tonge's rasping 20-yarder flew back off the join of post and crossbar.
As Luton pushed forward in a desperate search for an equaliser, gaps were left at the back and Rotherham took full advantage three minutes from full-time when Reid teed up substitute Hudson to lift the ball over Brill from 14 yards.