Rochdale remained in third place in League Two after a hard-fought win over mid-table Exeter City.
Michael Rose fired the hosts into the lead with a curled left-footed free-kick which crept inside the near post.
Exeter equalised when John O'Flynn's cross found Alan Gow 10 yards out and he coolly finished with his left foot.
Graham Cummins nodded in a deep Matthew Lund cross to restore the lead before Andrew Tutte turned into space and fired home a right-footed strike.
VIEW FROM THE DRESSING ROOM
Rochdale manager Keith Hill told BBC Radio Manchester:
"We were reasonably comfortable. I thought it was a good, technical game. We just edged it.
"I've got a lot of respect for (Exeter manager) Paul Tisdale, the way he sets up and the way he wants to play.
"It was a very open game, without too many goalscoring opportunities, but I do believe we deserved it."
Rochdale 01 Lillis 02 Rafferty 25 Rose 05 Eastham 06 Lancashire 22 O'Connell 08 Tutte 12 Lund 29 Cummins 11 Hogan (Done - 81' ) 40 Henderson Substitutes 07 Vincenti 14 Héry 16 Done 21 Thomson 24 Allen 38 Dicker 39 Bunney Exeter City 01 Krysiak 04 Bennett 03 Woodman 10 Gow (Keohane - 75' ) 06 Coles 05 Baldwin Booked (Butterfield - 81' ) 11 Davies 07 Sercombe 25 Parkin (Wheeler - 68' ) 35 Gill 19 O'Flynn Substitutes 02 Butterfield 14 Doherty 15 Moore-Taylor 20 Nichols 22 Keohane 30 Pym 32 Wheeler
Ref: Jeremy Simpson