Match ends, Port Vale 1, Rochdale 0.
Michael Brown scored the game's only goal to give Port Vale victory and push Rochdale out of the play-off places.
Rochdale's goalkeeper Conrad Logan pulled off a fantastic reflex save to stop Colin Daniel from opening the scoring for Vale from close range.
Chris Neal then saved Jamie Allen's half-volley before Vale took the lead.
Adam Yates' cross was only half cleared and the on-rushing Brown struck the ball into the ground and high past Logan to consign Rochdale to defeat.
Rochdale manager Keith Hill told BBC Radio Manchester:
"We created opportunities, we just didn't have that killer instinct. The keeper made some good saves, there's no doubt about that.
"We didn't have the killer finish today. That's the one thing missing from the performance, the end result, but with respect to the performance, I'm really encouraged.
"It just wasn't to be today. We can't beat anyone up; you've just got to accept that you're going to win games, you're going to lose games and you're going to draw games."
- 1NealBooked at 90mins
- 4RobertsonBooked at 90mins
- 14DanielSubstituted forBirchallat 87'minutes
- 33N'GuessanSubstituted forWilliamsonat 67'minutes
- 2RaffertySubstituted forNoble-Lazarusat 68'minutes
- 29O'ConnellBooked at 45mins
- 25RoseSubstituted forMuldoonat 68'minutes
- 12DawsonBooked at 70mins
- 9AndrewSubstituted forLundat 62'minutesBooked at 73mins
- Graham Horwood
- Shots on Target
Second Half ends, Port Vale 1, Rochdale 0.
Attempt missed. Reuben Noble-Lazarus (Rochdale) left footed shot from outside the box is too high.
Chris Robertson (Port Vale) is shown the yellow card.
Foul by Chris Robertson (Port Vale).
Jack Muldoon (Rochdale) wins a free kick in the defensive half.
Chris Neal (Port Vale) is shown the yellow card.
Attempt missed. Scott Tanser (Rochdale) left footed shot from outside the box misses to the right.
Substitution, Port Vale. Chris Birchall replaces Colin Daniel.
Mark Marshall (Port Vale) wins a free kick in the defensive half.
Foul by Reuben Noble-Lazarus (Rochdale).
Foul by Ben Williamson (Port Vale).
Ashley Eastham (Rochdale) wins a free kick in the defensive half.
Corner, Rochdale. Conceded by Chris Robertson.
Corner, Rochdale. Conceded by Frederic Veseli.
Attempt missed. Jamie Allen (Rochdale) right footed shot from outside the box is just a bit too high.
Attempt missed. Colin Daniel (Port Vale) left footed shot from outside the box is high and wide to the left.
Matthew Lund (Rochdale) is shown the yellow card.
Colin Daniel (Port Vale) wins a free kick in the defensive half.
Foul by Matthew Lund (Rochdale).