OXFORD United's losing streak was extended to six league games as they went down despite taking the lead at Rotherham United.
Sean Rigg gave the visitors a perfect start with a clinical finish early on, but a brace from Michael O'Connor put the Millers in front.
The game hinged on a passage of play two minutes from time.
James Constable came desperately close to an equaliser when his header was turned on to the post and within seconds Rotherham broke for Jason Taylor to make it 3-1 and pile the misery on Chris Wilder's side.
The visitors' starting line-up showed four changes from the 2-0 defeat to Bradford City a week earlier.
The most surprising was in goal, where Ryan Clarke was dropped and replaced by Wayne Brown. Harry Worley, Jake Forster-Caskey and Rigg also came into the side.
After suffering five straight defeats the U's looked to take no risks in their own half, moving the ball forward quickly for Tom Craddock where possible.
They got away to a fast start, opening the scoring after seven minutes.
Forster-Caskey rolled a corner out to the edge of the box for Rigg, who slammed home a low shot for his first United goal.
With Worley very effective in giving extra protection to the back four, Rotherham were frustrated for 25 minutes.
United could have doubled their lead midway through the half following an incisive break.
Forster-Caskey and Craddock twice exchanged passes, but the latter took one touch too many when through on goal, allowing goalkeeper Scott Shearer to smother.
The visitors got a huge let-off on 26 minutes, after Brown dropped a cross under pressure.
The ball fell to Ben Pringle, whose shot beat the goalkeeper but hit Damian Batt before ricocheting to safety via the crossbar and post.
Lionel Ainsworth hit the woodwork with the next attack, but from the rebound Batt brought down Kayode Odejayi for a penalty.
O'Connor stepped up to level the scores from 12 yards.
Rotherham were on top for the final 15 minutes of the half, but the U's held firm to go in all square at the break.
Odejayi came within a whisker of giving Rotherham the lead on the stroke of half time, but his curling shot flew narrowly wide.
The U's began the second half as brightly as they did in the first, with Worley heading just over at a corner and Rigg twice testing Shearer.
But Rotherham looked increasingly dangerous going forward, pushing their opponents back.
Kieran Agard came off the bench to add menace, while Odejayi had more of an influence once an exhausted Worley, who had not played a minute this season, came off on the hour.
Brown made several saves but was powerless 16 minutes from time, when the Millers took the lead.
Nicky Hunt got in down the right and when his hanging cross was only half-cleared, O'Connor was on hand to smash low into the net.
Rotherham should have quickly made the game safe, as United desperately tried to stay in the game.
Brown tipped a fizzing drive from Pringle over the bar, which led to Forster-Caskey clearing an effort off the line.
Constable came off the bench and almost claimed a point two minutes from time. The striker nodded Rigg's cross goalwards, but Shearer got a fingertip on it and diverted the ball onto the post.
Deane Smalley's follow-up was blocked by the goalkeeper and from the clearance Rotherham broke and Taylor tapped in the decisive third goal.
Oxford: Brown, Batt, Raynes, Worley (Leven 63), Wright, Potter, Cox, Capaldi, Forster-Caskey (Constable 81), Craddock (Smalley 57), Rigg.
Unused subs: Clarke, Heslop, O'Brien, Boateng.
Rotherham: Shearer, Hunt, Morgan, Sharps, Harris, Ainsworth, Arnason, O'Connor (Bradley 90), Pringle (Taylor 84), Evans (Agard 57), Odejayi.
Unused subs: Warrington, Mullins, Nardiello, Noble.
Referee: Graham Salisbury.
Attendance: 7,258 (460 visitors).