Goals from Enda Stevens and Nathan Tyson saw Rovers return to winning ways and the top six with victory over Colchester.
Stevens volleyed home his first goal for the club in the first half before a Tyson penalty seven minutes from time wrapped up the points.
Rovers always had the edge but struggled to put daylight between themselves and a game Colchester outfit.
And they could have found themselves behind to another early goal only for former Sheffield United striker Chris Porter to blaze a penalty high and wide on 12 minutes.
Nevertheless it was a deserved win for Paul Dickov’s side, who return to sixth spot in League One after Bradford lost at Peterborough.
Andy Butler hit the post after just three minutes as Rovers got off to a strong start.
Butler rose well to meet a Richie Wellens corner and powered a header off the far post with the ball ricocheting kindly into the arms of Colchester keeper Sam Walker.
Then came the big let-off for Rovers. There was no question over referee Peter Bankes’ decision to award a spot kick when Reece Wabara blatantly pushed Porter as he tried to meet Sam Clohessy’s cross.
But the big striker failed to take advantage and blasted high and wide from the spot.
Rovers found the woodwork again on 18 minutes. Razak leapt to reach Dean Furman’s cross and powered a header on goal which scuffed off the top of the bar.
Elliott Hewitt arguably should have put Colchester in front on 26 minutes. Released down the right, Hewitt cut inside past Enda Stevens and tried to curl the ball low into the far corner but sent it wide.
Moments later at the other end, Butler headed back a Wellens cross with Furman darting in but poking the ball wide from eight yards out.
Hewitt was again involved in the action for Colchester, unleashing a volley from 25 yards but sending it straight at Stephen Bywater.
Stevens volleyed Rovers into a half time lead as they finally broke the deadlock. Tyson’s driven cross was only half cleared and Stevens drilled in from 20 yards.
On the stroke of half time, Rovers almost doubled their advantage. Wabara released Wellens to the byline and Tyson met the low cross but Walker was well-placed to claim the shot.
Rovers were twice inches away from doubling the lead in the first few minutes of the second half.
First Tyson just failed to meet the ball on the slide from Enda Stevens’ low cross. And seconds later, Richie Wellens’ cross rolled just wide of the far post.
At the other end, Porter went agonisingly close to atoning for a first half penalty miss when he turned Sean Clohessy’s bobbling cross just over the bar.
Curtis Main really should have put daylight between the sides midway through the second half at the Keepmoat.
Rovers broke superbly thanks to Dean Furman’s endeavour. The South Africa skipper then sent Nathan Tyson scarpering and he cut the ball across the box for Main - who had run from inside his own box to get into the final third - but he struck straight at Sam Walker.
Wellens fired just wide after a fine cut back from Abdul Razak with 13 minutes to go.
The finally got their reward seven minutes from time when Tyson scored from the spot to allow Rovers to breathe a sigh of relief.
Furman was fouled by Alex Wynter as he lurked just inside the box and referee Peter Bankes pointed to the spot before Tyson slammed home the penalty kick.
Rovers had missed several chances to add to Enda Stevens’ first half strike.
Rovers: Bywater, Wabara, Butler, McCullough, Stevens, Keegan, Wellens, Razak (Bennett 79), Furman, Tyson (Ikpeazu 86), Main (Forrester 79).
Subs not used: Marosi, McCombe, Robinson, Evina.
Colchester: Walker, Clohessy (Gordon 65), Osborne, Eastman, Wynter; Hewitt (Moncur 82), Fox, Gilbey, Massey; Bonne (Healey 69), Porter
Subs not used: Marriott, Lewington, Moncur, McEvoy, Sembie-Ferris
Referee: Peter Bankes (Merseyside).
Cards: Yellow: Wabara 12, Main 76 (both Rovers); Clohessy 9, Fox 47 (both Colchester).
Att: 6,330 (220)