Town dominated the game, but were unable to take more than one chance, while both Rotherham goals had a touch of controversy about them.
Mike Pollitt had already saved from Matt Holland and Darren Bent while Jim Magilton missed a great chance before Fabian Wilnis put Town ahead after 11 minutes.
Magilton charged down a clearance that fell perfectly for Wilnis to volley into the top right corner.
Immediately afterwards, Bent burst through onto a loose ball but Pollitt dived to save his shot.
Rotherham gradually came back into the game and equalised after 24 minutes, Stuart Talbot volleying home a corner at the far post - although replays showed Town keeper Paul Gerrard had not touched the cross from which the corner was awarded.
Town almost went ahead again on 31 minutes when Pollitt stretched to touch Magilton's free kick onto the bar.
Holland forced a diving save from Pollitt and then sent a diving header just wide, and in between, Chris Sedgwick shot across goal for the visitors and Alan Lee forced a decent save from Gerrard.
Rotherham netted again in first half stoppage time. Town should have been awarded a corner but instead Pollitt's long goal kick was deflected by Holland into the path of Richard Barker, who raced through to score.
The Millers resolutely defended their lead after the interval, and were happy to just attack on the break.
The closest Town came was on 64 minutes when Pablo Counago's flicked header from substitute Darren Ambrose's corner, clipped the cross bar.
Pollitt twice saved confidently from Ambrose while at the other end Lee had a goal ruled out after a foul on Gerrard by Martin McIntosh.
TownÂ’s last chance came seven minutes from time when Counago beat Pollitt to a loose ball but substitute Alun Armstrong's shot was hacked off the line by McIntosh.