Sam Field opened the scoring eight minutes into the second half and doubled his tally quarter of an hour later, with both goals coming from finishes inside the penalty box.
Des Buckingham made three changes to the side which drew 1-1 at home to Millwall, as Peter Kioso, Idris El Mizouni and Mark Harris came in for Sam Long, Will Vaulks and Dane Scarlett respectively.
Vaulks and Scarlett dropped to the bench, while Long was unavailable as the club followed concussion protocols following the whack to the head that the defender suffered against Millwall.
The first half was defined by a lack of goalmouth action and a wastefulness on the ball from both sides, particularly in the final third.
Cameron Brannagan, making his 300th appearance for the U’s, had the first sniff of goal after five minutes when his fizzing 25-yard strike was deflected comfortably into the gloves of Paul Nardi.
Jimmy Dunne then headed off target at the back post from a clipped Nicolas Madsen free kick, while Hoops skipper Steve Cook also misplaced a headed attempt from Madsen’s right wing cross.
Midway through the first half, El Mizouni saw a 20-yard strike deflect out for a United corner, but the set piece came to nothing.
Two minutes before the first half drew to a close, Rayan Kolli drove a low, right-footed shot from a tight angle into the gloves of Jamie Cumming.
The home looked to make an aggressive start to the second period, and two minutes after the restart, Jonathan Varane blazed off target with a 30-yard effort.
Paul Smyth then drove infield from the right-hand side and sent a left-footed strike comfortably high and wide of Cumming’s goal.
The Hoops pressure paid off though eight minutes into the second half, as Field finished from the centre of the penalty area through the legs of Ciaron Brown on the goal line following a right wing cross.
Five minutes later, Buckingham made a double change as he withdrew both his wingers in Matt Phillips and Przemyslaw Placheta, and introduced Kyle Edwards and Ruben Rodrigues.
The alterations saw Tyler Goodrham move to the left-hand side, with Edwards on the right. Rodrigues took Goodrham’s position in midfield.
Field grabbed his brace though with just over 20 minutes to go. Kioso was dispossessed by Koki Saito, who laid the ball of for Field to finish first-time into Cumming’s bottom left corner.
Immediately following the goal, Buckingham made another double switch. This time, Josh McEachran and Scarlett replaced El Mizouni and Harris respectively.
It was the Hoops though who looked the likeliest to get on the scoresheet again, and came close with quarter of an hour left on the clock when Saito darted infield from the right and sent a left-footed effort just off target.
Kioso almost played United into trouble again, when a sloppy pass across landed straight at the feet of Hoops substitute Lucas Andersen, who shot into the arms of Cumming from outside the box.
Nine minutes were added on at the end of the second half, presenting the U’s with a window to claw themselves back into the game, but they failed to lay a glove on the Hoops backline, as the hosts leapfrogged Buckingham’s side in the Sky Bet Championship table.
Queens Park Rangers (4-2-3-1): Nardi; Dunne, Cook, Morrison (Chair 84), Ashby; Varane (Morgan 76), Field; Smyth (Fox 76), Madsen (Andersen 66), Saito; Kolli (Lloyd 66).
Unused subs: Walsh, Dixon-Bonner, Hevertton, Bennie.
Booked: Fox.
Oxford United (4-3-3): Cumming; Kioso (Dale 88), Moore, Brown, Leigh; Goodrham, Brannagan, El Mizouni (McEachran 70); Phillips (Edwards 58), Harris (Scarlett 70), Placheta (Rodrigues 58).
Unused subs: Ingram, Thorniley, ter Avest, Vaulks.
Booked: Brannagan, Moore.
Referee: Adam Herczeg (County Durham)
Attendance: 14,440 (1,749 away)