Steve Seddon’s opening goal was cancelled late on in the first-half by a Luke Thomas penalty.
James Henry restored Oxford’s lead, converting beyond Jaakkola after running in behind the Rovers defence just two minutes into the second half, but a late Brett Pitman header just seven minutes levelled the game.
Named in the starting eleven for the encounter was Paul Coutts, who made his first appearance of pre-season in the Gas’ final fixture.
Harvey Saunders led the attacking line for Rovers, supported by Luke Thomas, who impressed on Tuesday against Havant and Waterlooville.
The game had a lively start, with Rovers registering the game’s first chance within the opening 90 seconds. An adventurous run down the right by Luke Thomas carved out space for the loanee to drive a low cross into the mix that found Harvey Saunders, who saw his close-range effort tipped wide by Stevens.
Oxford went ahead 15 minutes into the encounter, as James Henry’s corner from the right wasn’t dealt with by Rovers, with Steve Seddon planting a header back across goal that trickled into the net and evaded the numerous blue and white shirts in the goalmouth.
As the half progressed there were chances for Rovers to pull back level. A silky showing of skill on the edge of the area from Luke Thomas created an opening for the playmaker to shoot, as he watched his well-struck effort into the hands of Stevens in the Oxford goal.
Late on in the first-half proceedings Rovers had their best chances of the game. Mark Hughes was hauled down on the edge of the Oxford United penalty area, with Westbrooke taking the resulting set-piece and guiding his effort just the wrong side of the upright.
Rovers followed up Westbrooke’s opening with the equalising goal, just as the first-half leaked into stoppage time. Luke Thomas snatched possession and drove towards goal and was pulled down in the area by Mousinho. Thomas was tasked with taking the penalty and coolly chipped an effort down the middle, with Stevens diving to his left.
Two minutes into the second half, the visitors restored their narrow lead. It was Sykes’ ball over the top that ran into the path of James Henry, who was able to advance in behind the Rovers backline. Henry waited patiently for the ball to drop and rolled a low finish beyond Jaakkola that ran into the bottom corner.
On the hour mark, Brett Pitman was called on for his first outing for Rovers, with Harries also introduced from the bench.
Pitman’s involvement was instant, as a deep cross from Hoole found the striker on the edge of the area. The forward used the speed on the ball to guide a looping header towards the target, which required Stevens to make a fingertip save to guide the effort onto the crossbar.
Moments later, a curling set-piece from Luke Thomas spun away from the target from all of 30-yards out.
A flurry of changes meant the game time was spread amongst the squad, with Cian Harries featuring for the first for Rovers this pre-season.
With seven minutes to go, Rovers grabbed a goal to level the game. It was a wicked in swinging corner from Ben Liddle that caused the problems, with Brett Pitman on hand to guide home a close-range header on the line to level the encounter.
The game looked destined to end in a draw, that was until Pitman was found by Jones and spotted Stevens off his line and was able to pick out a lob that ran out of the reach of the Oxford ‘keeper to provide Rovers with a late winner.
Rovers start their Sky Bet League Two campaign away at Mansfield Town next Saturday.
Rovers: Anssi Jaakkola, Mark Hughes, Luca Hoole, Josh Grant (77’ Cam Hargreaves), Trevor Clarke (77’ Sion Spence), Harry Anderson (60’ Cian Harries), Zain Westbrooke (60’ Brett Pitman), Joe Budd (45’ Kilgour), Paul Coutts (70’ Ben Liddle), Luke Thomas (70’ Ryan Jones), Harvey Saunders (77’ Zain Walker).