Trailing to Joe Clarke's well-taken goal in the first half, the visitors turned the game on its head before the hour mark.
James Constable levelled the scores with a terrific low strike, before Ryan Williams found the net two minutes later.
Wrexham took time to recover but went on to exert some sustained pressure late on.
And United were grateful to goalkeeper Ryan Clarke, who had made one outstanding save when it was 1-0, for making another top stop in stoppage time.
It meant Chris Wilder's men clinch the £27,000 prize money and set up a visit to Charlton Athletic in January.
Johnny Mullins made a welcome return from a knee problem to slightly ease the visitors' injury problems in the only change from the 1-0 win at Gateshead four days earlier.
- United striker James Constable challenges Wrexham goalkeeper Andy Coughlin to a high ball
He came back in alongside David Hunt at centre half, allowing Tom Newey to revert to his more familiar left back role at the expense of Dave Lynn.
United had booked their place in the second round after coming through a war of attrition on Tyneside, but from the outset this game was easier on the eye.
Helped by a decent playing surface, the tempo was higher and Wrexham again showed teams in the Skrill Premier had a taste for passing football.
The home side knocked it about well and, unlike Gateshead, looked threatening in the final third.
Jay Harris came close to an excellent opener in the fourth minute, steering Dean Keates' cross just wide.
United took time to establish themselves, but had a spell of pressure midway through the half.
Mullins, who assumed the captain's armband, came close with a neat thigh trap and volley, which was deflected on to the top of the crossbar on 21 minutes.
Andy Coughlin was called into action seven minutes later to save a Danny Rose shot which was well struck but too close to the goalkeeper.
Wrexham promptly broke and opened the scoring.
United were left open through the middle and Keates made the most of the space to size up a lofted pass which Clarke thumped into the corner of the net on the volley.
- Dave Kitson gets the better of Dave Artell
Wrexham had a penalty appeal correctly dismissed by referee Gavin Ward in the stroke of half time, but they should have doubled their lead ten seconds after the restart.
David Hunt stretched to clear, but only diverted the ball past Mullins to gift a chance to Johnny Hunt ten yards out. The converted left back had scored in his last three games, but this time his shot was well blocked by goalkeeper Ryan Clarke.
It looked like a turning point and so it proved as United turned the game on its head with two goals in as many minutes.
Constable equalised with a finish of pure quality, running on to Kitson's pass and fizzing a low shot first-time into the far corner.
The away fans were still celebrating when the second goal arrived via a Scott Davies long throw.
Mullins caused problems in the Wrexham defence, allowing Williams to bundle in from close range.
It was doubly sweet for the Australian, who had been booed by the home fans all evening for diving despite being on the receiving end of a bad tackle in the first half.
Wrexham looked stunned to find themselves behind and it took them a quarter of an hour to regain their composure.
The final stages saw them push hard for an equaliser, but United - led by the superb Mullins - held firm.
The closest Wrexham came was in stoppage time, when Clarke got fingertips on a Rob Ogleby shot to tip it round the post.
Oxford Utd (4-4-1-1): Clarke, Bevans, Hunt, Mullins, Newey, Williams, Davies, Rose, Ruffels, Constable, Kitson Subs used: Smalley (Williams 87), Long (Constable 89) Unused subs: Crocombe, Lynn, Shama, O'Dowda, Marsh.
Wrexham (4-3-3): Coughlin, Carrington, Artell, Wright, Ashton, Harris, Keates (Morrell 83), Clarke, Ormerod (Cieslewicz 64), Bishop, Hunt (Ogleby 64).
Unused subs: Mayebi, Clowes, Evans, Anyinsah.
Referee: Gavin Ward (Surrey).
Attendance: 2,906 (155 visitors).