Promotion-chasing Rotherham scored four first-half goals to condemn Oxford to a humbling home defeat.
The U's struggled to create any serious chances throughout, and fell behind through David Noble's deflected effort.
Kari Arnason headed in Ben Pringle's corner to make it 2-0 before Johnny Mullins, who had a loan spell at Oxford earlier this season, struck the third.
And a minute before half-time, Pringle turned in Alex Revell's delivery to extinguish any U's hopes.
After the break, Oxford defender Michael Raynes cleared Lee Frecklington's effort off the line as the Millers threatened a fifth, but the hosts halted the flow of goals.
Rotherham's comprehensive victory lifts them three places up the League Two table into fourth, just one point behind Cheltenham in third spot.
Oxford, who had beaten the league's top two sides Gillingham and Port Vale in their previous two games, drop to 12th following the defeat.
VIEWS FROM THE DRESSING ROOM
Rotherham United manager Steve Evans told BBC Radio Sheffield:
"Goals change games and I don't think there was much in the game (in the) first 15 minutes.
"I think a bit of cancelling out was going on.
"We identified the system that they played, I think we changed it tactically and it helped us win it.
"As soon as we out two players wide, we stretched them defensively and we took advantage of that."
Live Text Commentary
Full Time The referee brings the game to a close.89:00
David Noble fouled by Josh Parker, the ref awards a free kick. Johnny Mullins takes the direct free kick.86:54
Inswinging corner taken right-footed by Scott Davies, Kari Arnason manages to make a clearance. Inswinging corner taken right-footed by Scott Davies from the left by-line, save by Andy Warrington.86:09
Liam Davis fouled by Michael O'Connor, the ref awards a free kick. Free kick taken by Liam Davis.81:02
Foul by Alfie Potter on Kieran Agard, free kick awarded. Free kick taken by Andy Warrington.79:17
Short corner taken by Ben Pringle from the right by-line.78:39
Free kick awarded for an unfair challenge on Alfie Potter by David Noble. Free kick taken by Damian Batt.77:04 Substitution
Substitution Kayode Odejayi is brought on as a substitute for Alex Revell.76:32
The offside flag is raised against Alex Revell. Luke McCormick restarts play with the free kick.75:21
Kieran Agard concedes a free kick for a foul on Scott Davies. Damian Batt restarts play with the free kick.74:15 Substitution
Substitution Tony Capaldi is brought on as a substitute for Andrew Whing.70:34
The referee blows for offside against Josh Parker. Andy Warrington takes the indirect free kick.67:30
The assistant referee flags for offside against Alex Revell. Indirect free kick taken by Luke McCormick.65:59
Inswinging corner taken left-footed by Ben Pringle, Michael Raynes makes a clearance.65:12 Substitution
Substitution (Rotherham) makes a substitution, with Kieran Agard coming on for Daniel Nardiello.61:09
Corner taken by Sean Rigg, save by Andy Warrington. Scott Davies takes the inswinging corner, clearance by Kari Arnason.59:46
Lee Frecklington takes a shot. Jake Wright gets a block in.57:21
Corner taken by Ben Pringle, Michael Raynes fouled by Alex Revell, the ref awards a free kick. Direct free kick taken by Luke McCormick.56:59
Unfair challenge on Josh Parker by Kari Arnason results in a free kick. Damian Batt takes the free kick.55:09
Inswinging corner taken by Ben Pringle from the right by-line, Lee Frecklington takes a shot. Comfortable save by Luke McCormick.
The official flags Deane Smalley offside. Free kick taken by Johnny Mullins.50:17 Substitution
Substitution Claude Davis goes off and Mark Bradley comes on.48:39
Foul by Alex Revell on Sean Rigg, free kick awarded. Scott Davies produces a shot on goal direct from the free kick.46:58
Foul by Liam Ridehalgh on Deane Smalley, free kick awarded. Sean Rigg takes the free kick.46:15
Daniel Nardiello is adjudged to have handled the ball. Damian Batt restarts play with the free kick.45:01
The referee blows his whistle to start the second half.45:01 Substitution
Substitution Josh Parker comes on in place of Simon Heslop.45:01 Substitution
Substitution (Oxford Utd) makes a substitution, with Scott Davies coming on for Michael Duberry.45:00 +4:06 Half time
Half Time The referee calls an end to the first half.43:35
Assist on the goal came from Alex Revell.43:35 Goal scored
Goal! - Ben Pringle - Oxford 0 - 4 Rotherham Goal scored by Ben Pringle from inside the six-yard box low into the middle of the goal. Oxford Utd 0-4 Rotherham.42:38
Michael O'Connor takes a shot. Save by Luke McCormick.42:13
Corner taken by Ben Pringle, Michael Duberry manages to make a clearance.40:29
Assist on the goal came from Lee Frecklington.40:29 Goal scored
Goal! - Johnny Mullins - Oxford 0 - 3 Rotherham Johnny Mullins finds the net with a goal from inside the area low into the middle of the goal. Oxford Utd 0-3 Rotherham.36:05
Unfair challenge on Simon Heslop by Michael O'Connor results in a free kick. Sean Rigg takes the direct free kick.32:50
Ben Pringle provided the assist for the goal.32:50 Goal scored
Goal! - Kari Arnason - Oxford 0 - 2 Rotherham Kari Arnason finds the back of the net with a headed goal from inside the six-yard box. Oxford Utd 0-2 Rotherham.32:14
Corner from the right by-line taken by Ben Pringle,29:45 Goal scored
Goal! - David Noble - Oxford 0 - 1 Rotherham David Noble grabs a goal from long distance low into the middle of the goal. Oxford Utd 0-1 Rotherham.29:16
Free kick awarded for an unfair challenge on Michael O'Connor by Damian Batt. Free kick taken by Kari Arnason.22:44
Sean Rigg produces a right-footed shot from deep inside the penalty box which goes wide of the right-hand upright.19:00
Daniel Nardiello challenges Michael Raynes unfairly and gives away a free kick. Free kick taken by Luke McCormick.18:03
Deane Smalley is ruled offside. Free kick taken by Andy Warrington.17:28
Unfair challenge on Michael Duberry by Alex Revell results in a free kick. Free kick taken by Luke McCormick.15:16
Corner taken left-footed by Sean Rigg from the right by-line, Michael O'Connor makes a clearance.14:36
Claude Davis concedes a free kick for a foul on Deane Smalley. Liam Davis takes the free kick.11:23
Ben Pringle takes a shot. Blocked by Liam Davis.9:18
Alex Revell gives away a free kick for an unfair challenge on Michael Duberry. Free kick taken by Jake Wright.8:30
Ben Pringle takes a shot. Save by Luke McCormick.6:11
Foul by Sean Rigg on Liam Ridehalgh, free kick awarded. Andy Warrington takes the free kick.4:43
Sean Rigg has an effort at goal from outside the box which goes wide right of the target.4:16
Free kick awarded for a foul by Lee Frecklington on Sean Rigg. Andrew Whing restarts play with the free kick.2:45
Liam Ridehalgh is penalised for handball and concedes a free kick. Free kick taken by Simon Heslop.1:39
Alfie Potter fouled by Michael O'Connor, the ref awards a free kick. Jake Wright takes the direct free kick.0:00
The ref blows the whistle to start the match.
Live data and text provided by our data suppliers