The first eight minutes had produced three goals. The first one was scored by Colin McMenamin on three minutes, but within a couple of minutes, Rochdale's Grant Holt had cancelled it out from the penalty spot.
And three minutes later there was yet another goal with Gavin Cowan restoring Shrewsbury's lead.
Almost on half-time Mark Stallard got a third for Shrewsbury and by then it seemed all over the Rochdale.
But, in the first minute after the interval, scoring was resumed with Rickie Lambert pitching home one of his trademark free kicks from 25 yards out and after that it was all go for a rejuvenated Rochdale.
Holt equalised on 78 minutes and, with nine minutes left, Lambert was there again when he broke away to score the winner.
All the first half poise which Shrewsbury showed disappeared but, even so, they were a trifle unlucky not to have scored in the second half when a shot from Jamie Tolley hit the inside of the Rochdale upright from a difficult angle, and the ball bounced across the goal and out of play.
That was about as near as hardworking Shrewsbury got in the second half. All the action was at the other end where Rochdale hit the woodwork twice through Lambert and they had three more penalty appeals turned down.
Perhaps two of them looked good shouts for a spot-kick, but there was no response from the referee.
With seven minutes to play Rochdale lost Gary Brown when he got his second yellow card, and Dale had to defend well to keep Shrewsbury out in the dying minutes. This they did, booting the ball anywhere as long as it was out of their penalty area.