Tom Pope scored against his old club as Port Vale beat Rotherham to move within two points of leaders Gillingham.
After a relatively lacklustre first half, Vale went ahead when Ryan Burge's ball fell to Louis Dodds to slot home.
Vale then doubled the lead when League Two top scorer Tom Pope broke through to clip his 21st goal of the season.
Millers substitute Kieran Agard struck to set up a nervy finish but Vale held on to take advantage of Gillingham's defeat at home to lowly Barnet.
VIEW FROM THE DRESSING ROOM
Rotherham assistant manager Paul Raynor told BBC Radio Sheffield:
"Obviously I'm disappointed with the scoreline. Port Vale came with a game plan to hit us on the break and caused us problems doing that.
"They've had two opportunities and punished us, aside from that we didn't do enough in possession.
"We did have some possession but we failed to create any opportunities.
"We tried different changes and substitutions but it just didn't happen on the day. We just didn't have that spark."