The Scotland international netted in either half to make it seven goals in his last six Championship games, and take his tally to 24 in all competitions for the season.
It was the away side who made the brighter start and came close to taking the lead in the seventh minute, when Steven Davies's 25-yard free kick skimmed the roof of the net.
However, the home side responded with a free kick, which Morten Gamst Pedersen bounced off the top of the crossbar.
Rovers did take the lead just short of the half-hour mark when Rhodes slammed home a left-footed shot following Pedersen's cross into the box.
Bristol almost found an equaliser just before the break, but Davies could only graze the outside of the post after being played in by Sam Baldock.
The away side had the first good chance on the second half just nine minutes after the break, but Marvin Elliott could only direct his header straight down the throat of Jake Kean from a Paul Anderson cross.
Rovers doubled their lead with 25 minutes to go as Rhodes netted his 100th career league goal, after he held off his man before dropping a shoulder and wrong-footing Tom Heaton to make it 2-0.