Posh had to work to get into the game after gifting Rochdale an 11th minute goal, Glenn Murray taking Craig Morgan's poor back pass and racing away from debutant keeper Shwan Jalal to fire into an empty net.
George Boyd struck twice with headers to edge Ferguson's men in front, sending a 22nd minute effort looping over Matthew Gilks and inside the far post before steering in a second just four minutes later. Then Gilks produced a trio of top notch saves to deny Adam Newton, Craig Mackail-Smith and Boyd.
Rochdale, biding to end with a fourth successive win, fought their way back into the match and twice hit the woodwork before the break. Murray seeing a 20-yard drive hit an upright with Jalal well beaten and within a minute Adam Rundle again rattled the crossbar.
With Danny Blanchett joining the action as a substitute, Posh began the second half with six players who started the season with non-league clubs and former Cambridge City striker Blanchett grabbed his first League Two goal with a cracking 54th minute effort from 20 yards.
Once again Rochdale refused to lie down and Dagnall brought the scores level with cracking goals in the 63rd and 69th minutes. It could have gone either way in a frantic closing spell with Mackail-Smith denied by Gilks before Murray fired narrowly wide the other end.