Match ends, Rochdale 3, Shrewsbury Town 2.
Rochdale were forced to hang on for victory against Shrewsbury Town at Spotland after racing into a 3-0 lead.
Peter Vincenti, an Ian Henderson penalty and Jamie Allen gave Dale the perfect start inside just 15 minutes.
Nat Knight-Percival then headed Shrewsbury back into things before James Collins rounded off an eventful first half from the penalty spot.
But Keith Hill's side stood firm amid continued second-half pressure to climb back into the League One top six.
Shrewsbury boss Micky Mellon told BBC Radio Shropshire:
"We usually make good starts but we just couldn't get going. Rochdale were prepared to run harder for the first 20 minutes. Basic defensive errors in the box cost us goals and that's what lost us the game.
"At half time we had our tails up as we got back into the game but we couldn't capitalise on that momentum. It makes it even more frustrating that we had the whole of the second half and still couldn't find a goal.
"We don't get any points for the amount of attacks we had against Rochdale. The forwards and keeper were faultless for us but we've been punished for one or two errors."
- 27CannonBooked at 10mins
- 33KennedyBooked at 73mins
- 7VincentiBooked at 86mins
- 12McDermottSubstituted forBunneyat 74'minutes
- 24AllenSubstituted forLundat 75'minutes
- 21HalsteadBooked at 86mins
- 2TootleBooked at 90mins
- 20Knight-PercivalBooked at 85mins
- 22ClarkSubstituted forBarnettat 84'minutes
- 9CollinsSubstituted forWhalleyat 76'minutes
- Seb Stockbridge
- Shots on Target
Second Half ends, Rochdale 3, Shrewsbury Town 2.
Foul by Mark Ellis (Shrewsbury Town).
Calvin Andrew (Rochdale) wins a free kick in the defensive half.
Matt Tootle (Shrewsbury Town) is shown the yellow card for hand ball.
Hand ball by Matt Tootle (Shrewsbury Town).
Mark Halstead (Shrewsbury Town) is shown the yellow card.
Peter Vincenti (Rochdale) is shown the yellow card.
Nathaniel Knight-Percival (Shrewsbury Town) is shown the yellow card.
Substitution, Shrewsbury Town. Tyrone Barnett replaces Jordan Clark.
Attempt missed. Shaun Whalley (Shrewsbury Town) right footed shot from outside the box is high and wide to the right.
Jordan Clark (Shrewsbury Town) wins a free kick in the defensive half.
Foul by Calvin Andrew (Rochdale).
Nathaniel Knight-Percival (Shrewsbury Town) wins a free kick in the attacking half.
Foul by Ian Henderson (Rochdale).
Corner, Shrewsbury Town. Conceded by Andrew Cannon.
Attempt blocked. Sullay Kaikai (Shrewsbury Town) right footed shot from the left side of the box is blocked.
Foul by Jean-Louis Akpa-Akpro (Shrewsbury Town).
Tom Kennedy (Rochdale) wins a free kick on the right wing.
Attempt blocked. Jean-Louis Akpa-Akpro (Shrewsbury Town) right footed shot from the centre of the box is blocked.