Shrewsbury eased past Rotherham to climb to third in League Two.
James Collins gave the Shrews the lead with a smart turn and shot before Nicky Wroe made it two from the spot after Luke Ashworth fouled Collins.
The contest was ended just after half-time when Rotherham keeper Andy Warrington's clearance hit Tom Bradshaw and fell to Collins, who tapped in.
Adam Le Fondre finished from 12 yards to get one back for the Millers, but it was no more than a consolation.
Rotherham caretaker manager Andy Liddell told BBC Radio Sheffield:"We worked hard, there's no doubt about that, we just made too many mistakes and Shrewsbury made fewer mistakes than us.
"I'm not going to sit out here and cane them for not doing this and not doing that, they were hard working and they were committed.
"I honestly believe that this will go down to the last game of the season. We've got to make sure that we're in there on the last game of the season fighting for one of those top three positions."
Shrewsbury manager Graham Turner told BBC Radio Shropshire:
"A 3-1 win against a fellow promotion candidate is a very good victory, with some good football played.
"Two victories at Bradford and now Rotherham - we've upped the work rate, worked really hard for both results, and played some good stuff.
"It could've been more impressive if we'd got the right decision on a couple of occasions. We were a bit peeved when Tom Bradshaw was hauled down in the penalty area, followed by a similar incident - two penalties could've made a big difference to our goal tally.
"But we did get a penalty in the end, only our second of the season. Let's hope we get a couple more."