Full-time from The Den
Roofe followed up his brace against Swansea City in the FA Cup on Sunday with another valuable double to leave Michael Appleton's side just 90 minutes away from a date at the national stadium on 3rd April.
The highly-rated former West Brom youngster was somewhat fortuitous to see his 15th-minute cross squirm through the hands of Lions keeper David Forde and into the back of the net to put the visitors ahead before adding a second a couple of minutes before the break, heading home from close range after John Lundstram's shot had rattled the woodwork.
Despite throwing everything they had at Oxford in a barnstorming second-half, The Lions know that they are really going to have to pull the proverbial rabbit out of the hat if they are to overturn a two-goal deficit when the two teams meet in the second leg at the Kassam Stadium in a couple of weeks' time.
Millwall boss Neil Harris had named an unchanged team for the second successive game, which meant a home debut for recent recruit Jed Wallace, who made an impressive first start for The Lions in last weekend's 2-1 win at Oldham Athletic.
The Lions certainly started brightly and twice used the right flank to good affect in the opening four minutes; the persistence of Steve Morison saw the skipper win possession and whip over a low cross that keeper Benjamin Buchel gathered with Lee Gregory waiting to pounce.
A couple of minutes later Wallace picked up the ball from Shaun Cummings and charged forward before letting fly with a low shot which Buchel pushed round the post for the first corner of the game.
Morison was a whisker away from breaking the deadlock on 10 minutes with a header that dropped just the wrong side of the post as Millwall continued to look comfortable in the early stages.
However an unfortunate error from Lions keeper Forde handed the visitors a 15th-minute lead against the run of play. Roofe sped down the left and sent over a low cross/shot that squirmed through Forde's hands and over the line.
Gregory twice squandered glorious opportunities to haul The Lions level; first sending a 24th-minute effort sailing over the bar after Morison's cushioned header had sent his strike partner clear through and then on 35 minutes, thwarted by keeper Buchel who dived bravely at his feet to avert the danger as he raced through on goal.
Both Shane Ferguson and Morison were then denied in quick succession, but having dealt with a period of Millwall pressure, Oxford doubled their tally two minutes before half-time.
A swerving 20-yarder from Lundstram smacked against the bar and there was the irrepressible Roofe, reacting quickest, to steal in and nod home the loose ball from close range.
The Lions faced a second-half mountain to climb, but Harris' charges really did give it a go but were just lacking that bit of luck as they stacked up the scoring chances, but just could not find a way through despite pounding at Oxford's defensive door.
However it could have been game, and effectively tie, over within five minutes of the restart when Patrick Hoban turned the ball wide of the target from 10 yards out with the goal at his mercy.
That proved to be the visitors last really clear cut attempt on goal during a second period in which the much-improved Lions had enough chances to have got back on level terms.
Wallace's deft footwork caused problems as he weaved his way into the danger zone only to fire over with a left-foot shot and then the unmarked Mark Beevers contrived to head wide of the mark having been picked out by Ferguson's inch-perfect free-kick.
Morison saw a 68th-minute header cleared off the line before Wallace first had a shot deflected wide for a corner and saw another effort well saved by keeper Buchel as Millwall kept the pressure on.
Some neat interplay by Gregory and Wallace ended with the latter's deep delivery drifting agonisingly wide with Buchel again called into action, this time reacting smartly to gather after Morison's shot took a deflection.
Sub Ed Upson, with a 20-yard drive and O'Brien, both went close as Millwall kept pressing forward but simply could not find a way through to reduce the arrears.
The final whistle was greeted by rapturous applause from the visiting fans, but the second-half of this tie showed that whilst Oxford may on paper be in the driving seat, there is still plenty of fight left in these Lions yet.
Oxford United: Buchel, Baldock, Roofe (Hylton, 87mins), Mullins, Wright, Sercombe, Hoban (O'Dowda, 77mins), MacDonald, Lundstram, Maguire, Evans. Subs not used: Slocombe, Ruffels, Dunkley.
Scorer: Roofe (15, 42mins)
Ref: S. Attwell
Att: 7,275 (away 1,222)
Tweets by @MillwallFC