A first-half brace by Oxford's James Constable gave them a first win away at arch rivals Swindon Town in 38 years.
The U's striker's powerful downward header from a corner was cancelled out by Matt Ritchie's headed goal from Callum Kennedy's cross.
Oxford were back infront before half-time when Peter Leven's parried free-kick went in off Constable's chest.
Swindon toiled for an equaliser after the break as boss Paolo Di Canio was sent to the stands.
All the pre-match talk was centred on Oxford striker Constable
and it was the U's man who struck first when he rose unchallenged at the near post from Leven's outswinging corner to power in a downward header past Swindon keeper Phil Smith.
Swindon's goal eight minutes later was no more than the hosts deserved after a fabulous late cross from Kennedy was met by Ritchie who leapt above Oxford's defenders for his first goal of the season.
Oxford keeper Ryan Clarke pulled off some fine saves before the break as Swindon began to gain the ascendancy.
The hosts conceded a free kick on the corner of their area on 42 minutes and Leven whipped in a vicious ball that Smith parried only to rebound in off Constable.
Seven minutes into the second half Leon Clarke had an opportunity to score on his Robins debut but was ruled offside after creating a one-on-one with the keeper.
Di Canio was incensed and, following his reprimand for overzealous celebrations at Swindon's goal, was sent to the stands.
Clarke blasted over the bar minutes later from close range after Ritchie put him clear as Swindon dominated the midfield exchanges.
Lander Gabilondo forced a great save from Ryan Clarke as the home side continued to pepper the U's goal with Oxford defending deeply.
Both keepers were called upon in the dying minutes as Ritchie and Constable were denied chances to increase their tallies before Gabilondo fired a great chance wide at the death.
POST MATCH VIEWS
Swindon manager Paolo di Canio told BBC Wiltshire:
"They [Swindon] dominated the game. For 85 minutes we were the team that should win.
"Today was the best performance of the season but we again conceded two goals in two set plays."
Oxford United manager Chris Wilder told BBC Oxford:
"I thought we hung in there but [I think about] last year the amount of times we played well and came away with nothing - today we put a shift in.
"The supporters won't give a monkey's about how we've played and, to be honest about it, neither do we.
"It's all about the three points on derby day."
Swindon 26 Smith 03 Kennedy 04 Flint 05 Devera 07 Caddis 08 Ferry 10 Ritchie 11 Esajas (Gabilondo - 71' ) 24 Smith 09 Clarke 23 De Vita (Kerrouche - 46' ) Substitutes 01 Lanzano 13 Risser 21 Gabilondo 17 Connell 39 Kerrouche (Connell - 67' ) Oxford United 01 Clarke 05 Duberry 06 Wright 16 Whing 04 McLaren 08 Heslop (Hall - 49' Booked ) 20 Leven 26 Davis Booked 09 Constable 15 Potter (Batt - 74' ) 27 Guy (Smalley - 55' ) Substitutes 02 Batt 22 Worley 14 Hall 10 Smalley 11 Pittman