Niall Mason's first-half penalty was enough to separate the sides at the Mem, as Doncaster Rovers held out for a narrow victory.
Ryan Sweeney conceded the spot-kick, after the defender was punished for a foul on Tommy Rowe inside the area. Midfielder Niall Mason was on hand to convert calmly from the spot, driving his right-footed effort into the roof of the net.
Rovers came close to finding an equaliser in the second half, as Rory Gaffney was twice tested Doncaster 'keeper Ian Lawlor, but was unable to find a goal to level the scoreline.
Ellis Harrison thought that he had grabbed a late equaliser, as the striker bundled home a close-range finish after Lee Brown was denied from a free-kick, but the referee ruled out Harrison's goal as the ball crept out of play in the build-up, as Doncaster withstood late pressure to hold on to their narrow advantage.
With Manager Darrell Clarke missing the game through illness, Marcus Stewart named an unchanged side for the visit of Doncaster Rovers.
It was the third game in a row where Rovers have stuck with the exact same starting eleven, with the only change to matchday squad coming in the shape of Chris lines replacing Ryan Broom on the bench.
Inside the opening twenty-minutes, both sides struggled to create chances to test the opposition goalkeeper, with both sets of teams opting for a tentative approach during the during the early stages of the contest.
The first opportunity of the game came as Lee Brown found Rory Gaffney down the left with a well-weighted pass. Gaffney drew in two defenders before laying off a pass to Bodin, who sprinted his way to the byline before digging out a cross that was intended to reach Ellis Harrison, who saw the delivery deflected away just in front of him as he set himself to shoot towards goal.
Bodin was again involved moments later, as a deep cross to the far post from Liam Sercombe fell to the forward's feet. With a reactive poke towards goal, Bodin managed to find the target and forced Ian Lawlor to tip his effort over the crossbar.
The deadlock was broken just after the half-hour mark, as the visitors were awarded a penalty when Ryan Sweeney tripped Tommy Rowe inside the area. Niall Mason was tasked with taking the resulting penalty and calmly dispatched the spot-kick, directing a right-footed effort straight down the middle to open the scoring.
Although Rovers perhaps had the greater amount of possession inside the opening forty-five minutes, the home side were unable to carve out any opportunities to force an equaliser before the break.
After the half-time interval, Rovers returned to action and looked lively. A smart change of direction inside the Doncaster area by Rory Gaffney created a chance for the striker to shoot at goal, as Gaffney unleashed a well-struck attempt that Lawlor had to deflect wide with his outstretched leg.
It was Gaffney who again tested Lawlor as the game neared the hour mark. Following a break at pace that was originated by the striker, Gaffney broke to the edges of the Doncaster area and was able to hit a controlled left-footed effort that looked like it might just creep inside the far-post, but Lawlor was equal to the attempt and made a routine save to deny the striker.
Late on, Rovers thought that they have managed to grab a dramatic late equaliser. Lee Brown tested Lawlor with a well-struck free-kick that was pushed away by a fine diving save by the goalkeeper. Rovers recycled the ball and managed to work a pass across the face of goal that was edged home by Ellis Harrison, but the striker's goal was quickly ruled out, as it was deemed that the ball had crept out of play in the build-up to the ball reaching the striker.
Next up for Rovers is a trip to Walsall on Boxing Day.
Rovers: Adam Smith (G), Daniel Leadbitter (85' Dom Telford), Lee Brown, Tom Lockyer (C), Ryan Sweeney, Liam Sercombe, Ellis Harrison, Billy Bodin, Joe Partington, Stuart Sinclair (67' Chris Lines), Rory Gaffney (73' Tom Nichols).
Substitutes: Sam Slocombe (G), Ollie Clarke, Chris Lines, Tom Broadbent, Dom Telford, Tom Nichols, Marc Bola.
Doncaster Rovers: Ian Lawlor, Mathieu Baudry, Andrew Butler (C), Rodney Kongolo (72' Ben Whiteman), Niall Mason, John Marquis, Tommy Rowe, Joe Wright, Joran Houghton, Tyler Garratt, Alfie Beestin (75' Alfie May).
Substitutes: Marko Marosi, Craig Alcock, Ben Whiteman, Liam Mandeville, Alfie May, Will Longbottom, Issam Ben Khemis.