Millwall 1 Rotherham United 2
Alan Dunne had put the home side ahead after 16 minutes, but Martin Butler hit back with a goal out of nowhere just before the break.
And Scott scored to give rock-bottom Rotherham their third win of the season on 69 minutes after the visitors piled on the pressure in the second half.
Kevin Muscat could have earned Millwall a share of the points two minutes later but for a desperate block from sub Phil Gilchrist.
And Kevin Braniff, in his first start of the season, came close late on when his shot rattled the post.
Millwall player-manager Dennis Wise was forced to go with a new-look strike pairing after Danny Dichio was suspended for his sending-off at Watford and Barry Hayles picked up his fifth booking of the season on Boxing Day.
Braniff was recalled from his loan spell at Canvey Island, while Scott Dobie recovered in time from a hamstring injury to start in place of Dichio.
Millwall, who were booed off at the final whistle, went close as early as the second minute when Dunne's shot from 20 yards went just wide of the goalmouth with Mike Pollitt stranded.
And after Muscat and Matt Lawrence both fired efforts over the crossbar, Millwall's dominance paid off when Dunne headed straight into a Rotherham defender but volleyed in the rebound from ten yards out.
Braniff had the ball in the net on 28 minutes after Josh Simpson had put the ball through with a perfectly weighted pass, but the goal was ruled out for offside.
Junior, in his last game of his loan spell at Rotherham before he returns to Derby, was the instigator behind Butler's equaliser, when he slotted through to Paul McLaren, who squared for the striker to net.
And after Rotherham came out firing after the break, Scott was on hand to head in the winner off the crossbar from McLaren's corner.