Steve Basham converted a controversial penalty in the second half to earn Oxford United a vital three points in their bid to escape the drop.
Basham sent Scott Shearer the wrong way from the spot after former Oxford man James Hunt brought down Christian Hargreaves as he burst into the box.
Bristol Rovers players angrily surrounded the referee as they protested against the award, before Basham calmly tucked home his 13th goal of the season.
The victory was only Oxford's ninth of the season, but it was the first for new boss Darren Patterson who was only given a 15-month contract the day before as Brian Talbot's successor.
Rovers, looking to bounce back from Saturday's loss to Notts County, to restore their play-off hopes, seldom troubled Oxford keeper Billy Turley in a match the U's controlled.
Basham went close on 13 minutes with a right-footed volley from the edge of the box following a long pass by Hargreaves. Shearer dived to save low to his left.
Matt Robinson then arrowed a 20-yard free-kick just over.
Rovers created little themselves, but almost capitalised when Turley produced a poor kick and Steve Elliott fired back a shot which just cleared the crossbar.
At the start of the second half Shearer pushed aside an angled close-range shot from Hargreaves.
The Oxford skipper went close again with a drive which beat Shearer but went over.
The Oxford players defended solidly in the closing stages to deny Paul Trollope's team any real sight of goal as they hung on for their first win in 11 games.