The first, in the 62nd minute, was a sensational right-footed strike from 20 yards after Harrison had turned his marker on the right and cut in past another defender.
Rochdale substitute Michael Rose equalised with a superb strike from 25 yards after 75 minutes, but Harrison pounced to net from close range when the visitors failed to deal with Eliot Richards' 84th-minute cross.
Rochdale hit a post through George Donnelly's 57th-minute shot and could consider themselves unlucky losers.
They created the best chances of a scrappy first half, with Donnelly's 20th-minute glancing header from a Robert Grant cross flying inches wide.
Donnelly had earlier shot over when unmarked 15 yards out and he went close again on the half hour when just failing to get a meaningful touch to a Rose cross.
Rovers goalkeeper Steve Mildenhall had to produce a fine 45th-minute save to keep out a curling Grant shot.