The striker made up for a horrible miss in the first half by converting a 71st-minute penalty after Jake Wright tripped Eliot Richards.
O'Toole was guilty of an embarrassing air shot with the goal at his mercy 10 yards out from Chris Beardsley's square pass on 25 minutes.
But he had the last laugh by slotting the penalty low into the bottom left of Ryan Clarke's goal, as the keeper dived the other way, to give Rovers their first away win of the season.
Oxford had been top of League Two before play began, but they have struggled at home.
James Constable missed a golden chance to open the scoring just before Rovers struck, heading David Hunt's cross over the bar from five yards.
In the first half Ryan Williams went close for the U's with a run through the middle but he was unable to keep the ball at his feet as keeper Steve Mildenhall raced out.
Oxford's misery was heightened with Alfie Potter being stretchered off in the last minute.